| version 1.249.2.2, 2007/09/03 10:23:45 |
version 1.250, 2007/07/19 20:48:55 |
| Line 2079 ip_savecontrol(struct inpcb *inp, struct |
|
| Line 2079 ip_savecontrol(struct inpcb *inp, struct |
|
| if (inp->inp_flags & INP_RECVIF) { |
if (inp->inp_flags & INP_RECVIF) { |
| struct sockaddr_dl sdl; |
struct sockaddr_dl sdl; |
| |
|
| sockaddr_dl_init(&sdl, sizeof(sdl), |
sdl.sdl_len = offsetof(struct sockaddr_dl, sdl_data[0]); |
| (m->m_pkthdr.rcvif != NULL) |
sdl.sdl_family = AF_LINK; |
| ? m->m_pkthdr.rcvif->if_index |
sdl.sdl_index = m->m_pkthdr.rcvif ? |
| : 0, |
m->m_pkthdr.rcvif->if_index : 0; |
| 0, NULL, 0, NULL, 0); |
sdl.sdl_nlen = sdl.sdl_alen = sdl.sdl_slen = 0; |
| *mp = sbcreatecontrol(&sdl, sdl.sdl_len, IP_RECVIF, IPPROTO_IP); |
*mp = sbcreatecontrol((void *) &sdl, sdl.sdl_len, |
| |
IP_RECVIF, IPPROTO_IP); |
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| } |
} |