| version 1.62, 2003/05/14 14:34:14 |
version 1.63, 2003/05/14 14:41:33 |
| Line 1012 ip6_savecontrol(in6p, mp, ip6, m) |
|
| Line 1012 ip6_savecontrol(in6p, mp, ip6, m) |
|
| |
|
| microtime(&tv); |
microtime(&tv); |
| *mp = sbcreatecontrol((caddr_t) &tv, sizeof(tv), |
*mp = sbcreatecontrol((caddr_t) &tv, sizeof(tv), |
| SCM_TIMESTAMP, SOL_SOCKET); |
SCM_TIMESTAMP, SOL_SOCKET); |
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| } |
} |
| #endif |
#endif |
| if (in6p->in6p_flags & IN6P_RECVDSTADDR) { |
if (in6p->in6p_flags & IN6P_RECVDSTADDR) { |
| *mp = sbcreatecontrol((caddr_t) &ip6->ip6_dst, |
*mp = sbcreatecontrol((caddr_t) &ip6->ip6_dst, |
| sizeof(struct in6_addr), IPV6_RECVDSTADDR, |
sizeof(struct in6_addr), IPV6_RECVDSTADDR, IPPROTO_IPV6); |
| IPPROTO_IPV6); |
|
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| } |
} |
| Line 1044 ip6_savecontrol(in6p, mp, ip6, m) |
|
| Line 1043 ip6_savecontrol(in6p, mp, ip6, m) |
|
| ? m->m_pkthdr.rcvif->if_index |
? m->m_pkthdr.rcvif->if_index |
| : 0; |
: 0; |
| *mp = sbcreatecontrol((caddr_t) &pi6, |
*mp = sbcreatecontrol((caddr_t) &pi6, |
| sizeof(struct in6_pktinfo), IPV6_PKTINFO, |
sizeof(struct in6_pktinfo), IPV6_PKTINFO, IPPROTO_IPV6); |
| IPPROTO_IPV6); |
|
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| } |
} |
| if (in6p->in6p_flags & IN6P_HOPLIMIT) { |
if (in6p->in6p_flags & IN6P_HOPLIMIT) { |
| int hlim = ip6->ip6_hlim & 0xff; |
int hlim = ip6->ip6_hlim & 0xff; |
| *mp = sbcreatecontrol((caddr_t) &hlim, |
*mp = sbcreatecontrol((caddr_t) &hlim, sizeof(int), |
| sizeof(int), IPV6_HOPLIMIT, IPPROTO_IPV6); |
IPV6_HOPLIMIT, IPPROTO_IPV6); |
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| } |
} |
| Line 1099 ip6_savecontrol(in6p, mp, ip6, m) |
|
| Line 1097 ip6_savecontrol(in6p, mp, ip6, m) |
|
| * But it's too painful operation... |
* But it's too painful operation... |
| */ |
*/ |
| *mp = sbcreatecontrol((caddr_t)hbh, hbhlen, |
*mp = sbcreatecontrol((caddr_t)hbh, hbhlen, |
| IPV6_HOPOPTS, IPPROTO_IPV6); |
IPV6_HOPOPTS, IPPROTO_IPV6); |
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| m_freem(ext); |
m_freem(ext); |
| Line 1168 ip6_savecontrol(in6p, mp, ip6, m) |
|
| Line 1166 ip6_savecontrol(in6p, mp, ip6, m) |
|
| break; |
break; |
| |
|
| *mp = sbcreatecontrol((caddr_t)ip6e, elen, |
*mp = sbcreatecontrol((caddr_t)ip6e, elen, |
| IPV6_DSTOPTS, |
IPV6_DSTOPTS, IPPROTO_IPV6); |
| IPPROTO_IPV6); |
|
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| break; |
break; |
| Line 1179 ip6_savecontrol(in6p, mp, ip6, m) |
|
| Line 1176 ip6_savecontrol(in6p, mp, ip6, m) |
|
| break; |
break; |
| |
|
| *mp = sbcreatecontrol((caddr_t)ip6e, elen, |
*mp = sbcreatecontrol((caddr_t)ip6e, elen, |
| IPV6_RTHDR, |
IPV6_RTHDR, IPPROTO_IPV6); |
| IPPROTO_IPV6); |
|
| if (*mp) |
if (*mp) |
| mp = &(*mp)->m_next; |
mp = &(*mp)->m_next; |
| break; |
break; |