search for: msg_hdr

Displaying 5 results from an estimated 5 matches for "msg_hdr".

2015 Dec 10
2
[PATCH] Receive multiple packets at a time
...data(int sock) { + vpn_packet_t pkt[MAX_MSG]; + sockaddr_t from[MAX_MSG]; +#ifdef HAVE_RECVMMSG + struct mmsghdr msg[MAX_MSG]; + struct iovec iov[MAX_MSG]; +#else + socklen_t fromlen = sizeof(from[0]); +#endif + int num = 1, i; + +#ifdef HAVE_RECVMMSG + for(i = 0; i < MAX_MSG; i++) + { + msg[i].msg_hdr.msg_name = &from[i].sa; + msg[i].msg_hdr.msg_namelen = sizeof(from[i]); + iov[i].iov_base = &pkt[i].seqno; + iov[i].iov_len = MAXSIZE; + msg[i].msg_hdr.msg_iov = &iov[i]; + msg[i].msg_hdr.msg_iovlen = 1; + msg[i].msg_hdr.msg_control = NULL; + msg[i].msg_hdr.msg_controllen = 0; +...
2015 Dec 10
3
[PATCH] Receive multiple packets at a time
..._MSG 256 > > vpn_packet_t pkt[MAX_MSG]; > sockaddr_t from[MAX_MSG]; > struct mmsghdr msg[MAX_MSG]; > struct iovec iov[MAX_MSG]; > int num = 1, i; > > for(i = 0; i < MAX_MSG; i++) > { > msg[i].msg_hdr.msg_name = &from[i].sa; > msg[i].msg_hdr.msg_namelen = sizeof(from[i]); > iov[i].iov_base = &pkt[i].seqno; > iov[i].iov_len = MAXSIZE; > msg[i].msg_hdr.msg_iov = &iov[i]; > msg[i].msg_hdr.msg_...
2015 Dec 10
0
[PATCH] Receive multiple packets at a time
...data(int sock) { #ifdef HAVE_RECVMMSG #define MAX_MSG 256 vpn_packet_t pkt[MAX_MSG]; sockaddr_t from[MAX_MSG]; struct mmsghdr msg[MAX_MSG]; struct iovec iov[MAX_MSG]; int num = 1, i; for(i = 0; i < MAX_MSG; i++) { msg[i].msg_hdr.msg_name = &from[i].sa; msg[i].msg_hdr.msg_namelen = sizeof(from[i]); iov[i].iov_base = &pkt[i].seqno; iov[i].iov_len = MAXSIZE; msg[i].msg_hdr.msg_iov = &iov[i]; msg[i].msg_hdr.msg_iovlen = 1;...
2015 Dec 02
5
[PATCH] Receive multiple packets at a time
...drlen = sizeof addr[0]; +#endif node_t *from, *to; bool direct = false; + int num = 1, i; - pkt.offset = 0; - int len = recvfrom(ls->udp.fd, DATA(&pkt), MAXSIZE, 0, &addr.sa, &addrlen); +#ifdef HAVE_RECVMMSG + for (i = 0; i < MAX_MSG; i++) + { + pkt[i].offset = 0; + msg[i].msg_hdr.msg_name = &addr[i].sa; + msg[i].msg_hdr.msg_namelen = sizeof(addr[i]); + iov[i].iov_base = DATA(&pkt[i]); + iov[i].iov_len = MAXSIZE; + msg[i].msg_hdr.msg_iov = &iov[i]; + msg[i].msg_hdr.msg_iovlen = 1; + msg[i].msg_hdr.msg_control = NULL; + msg[i].msg_hdr.msg_controllen = 0; +...
2015 Dec 02
0
[PATCH] Receive multiple packets at a time
...1, i; > > - pkt.offset = 0; > - int len = recvfrom(ls->udp.fd, DATA(&pkt), MAXSIZE, 0, &addr.sa, &addrlen); > +#ifdef HAVE_RECVMMSG > + for (i = 0; i < MAX_MSG; i++) > + { > + pkt[i].offset = 0; > + msg[i].msg_hdr.msg_name = &addr[i].sa; > + msg[i].msg_hdr.msg_namelen = sizeof(addr[i]); > + iov[i].iov_base = DATA(&pkt[i]); > + iov[i].iov_len = MAXSIZE; > + msg[i].msg_hdr.msg_iov = &iov[i]; > + msg[i].msg_hdr.msg_...