udpsock
int udpsock = -1, rdomain = -1, opt = 1;
if ((udpsock = socket(AF_INET6, SOCK_DGRAM, 0)) == -1) {
if (setsockopt(udpsock, SOL_SOCKET, SO_REUSEADDR, &opt,
if (setsockopt(udpsock, SOL_SOCKET, SO_RTABLE, &rdomain,
close(udpsock);
if (bind(udpsock, (struct sockaddr *)sin6, sizeof(*sin6)) == -1) {
close(udpsock);
main_imsg_compose_frontend(IMSG_UDPSOCK, udpsock, &if_index,
close(udpsock);
event_set(&iface->udpev, udpsock, EV_READ |
int shut = 0, udpsock, if_index;
if ((udpsock = imsg_get_fd(&imsg)) == -1)
set_udpsock(udpsock, if_index);
set_udpsock(int udpsock, uint32_t if_index)
close(udpsock);
int found = 0, udpsock, opt = 1, len, fd = -1;
if ((udpsock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
if (setsockopt(udpsock, SOL_SOCKET, SO_REUSEADDR, &opt,
if (setsockopt(udpsock, SOL_SOCKET, SO_RTABLE, &imsg->rdomain,
close(udpsock);
if (bind(udpsock, (struct sockaddr *)req_sin_addr,
close(udpsock);
shutdown(udpsock, SHUT_RD);
main_imsg_compose_frontend(IMSG_UDPSOCK, udpsock,
if (sendto(iface->udpsock, packet, len, 0, (struct sockaddr *)&to,
if (iface->udpsock != -1)
close(iface->udpsock);
int shut = 0, bpfsock, if_index, udpsock;
if ((udpsock = imsg_get_fd(&imsg)) == -1)
close(udpsock);
if (iface->udpsock != -1)
iface->udpsock = udpsock;
iface->udpsock != -1) {
close(iface->udpsock);
iface->udpsock = -1;
iface->udpsock = -1;
iface->udpsock != -1) {
close(iface->udpsock);
iface->udpsock = -1;
iface->udpsock = -1;
int udpsock;
if ((len = recvmsg(udpsock->sock, &m, 0)) == -1) {
iface.wfdesc = udpsock->sock;
struct udpsock *udpsock;
if ((udpsock = calloc(1, sizeof(struct udpsock))) == NULL)
udpsock->sock = sock;
add_protocol("udp", sock, udpsock_handler, udpsock);
struct udpsock *udpsock = protocol->local;