version 1.64.6.3, 2020/05/25 17:48:16 |
version 1.65, 2017/11/17 07:37:12 |
Line 474 igmp_input(struct mbuf *m, ...) |
|
Line 474 igmp_input(struct mbuf *m, ...) |
|
* Pass all valid IGMP packets up to any process(es) listening |
* Pass all valid IGMP packets up to any process(es) listening |
* on a raw IGMP socket. |
* on a raw IGMP socket. |
*/ |
*/ |
/* |
|
* Currently, igmp_input() is always called holding softnet_lock |
|
* by ipintr()(!NET_MPSAFE) or PR_INPUT_WRAP()(NET_MPSAFE). |
|
*/ |
|
KASSERT(mutex_owned(softnet_lock)); |
|
rip_input(m, iphlen, proto); |
rip_input(m, iphlen, proto); |
return; |
return; |
|
|
Line 620 igmp_sendpkt(struct in_multi *inm, int t |
|
Line 615 igmp_sendpkt(struct in_multi *inm, int t |
|
ip->ip_tos = 0; |
ip->ip_tos = 0; |
ip->ip_len = htons(sizeof(struct ip) + IGMP_MINLEN); |
ip->ip_len = htons(sizeof(struct ip) + IGMP_MINLEN); |
ip->ip_off = htons(0); |
ip->ip_off = htons(0); |
ip->ip_ttl = IP_DEFAULT_MULTICAST_TTL; |
|
ip->ip_p = IPPROTO_IGMP; |
ip->ip_p = IPPROTO_IGMP; |
ip->ip_src = zeroin_addr; |
ip->ip_src = zeroin_addr; |
ip->ip_dst = inm->inm_addr; |
ip->ip_dst = inm->inm_addr; |