igmp.c (107113) | igmp.c (109623) |
---|---|
1/* 2 * Copyright (c) 1988 Stephen Deering. 3 * Copyright (c) 1992, 1993 4 * The Regents of the University of California. All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * Stephen Deering of Stanford University. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * @(#)igmp.c 8.1 (Berkeley) 7/19/93 | 1/* 2 * Copyright (c) 1988 Stephen Deering. 3 * Copyright (c) 1992, 1993 4 * The Regents of the University of California. All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * Stephen Deering of Stanford University. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * @(#)igmp.c 8.1 (Berkeley) 7/19/93 |
38 * $FreeBSD: head/sys/netinet/igmp.c 107113 2002-11-20 19:00:54Z luigi $ | 38 * $FreeBSD: head/sys/netinet/igmp.c 109623 2003-01-21 08:56:16Z alfred $ |
39 */ 40 41/* 42 * Internet Group Management Protocol (IGMP) routines. 43 * 44 * Written by Steve Deering, Stanford, May 1988. 45 * Modified by Rosen Sharma, Stanford, Aug 1994. 46 * Modified by Bill Fenner, Xerox PARC, Feb 1995. --- 56 unchanged lines hidden (view full) --- 103 igmp_all_hosts_group = htonl(INADDR_ALLHOSTS_GROUP); 104 igmp_all_rtrs_group = htonl(INADDR_ALLRTRS_GROUP); 105 106 igmp_timers_are_running = 0; 107 108 /* 109 * Construct a Router Alert option to use in outgoing packets 110 */ | 39 */ 40 41/* 42 * Internet Group Management Protocol (IGMP) routines. 43 * 44 * Written by Steve Deering, Stanford, May 1988. 45 * Modified by Rosen Sharma, Stanford, Aug 1994. 46 * Modified by Bill Fenner, Xerox PARC, Feb 1995. --- 56 unchanged lines hidden (view full) --- 103 igmp_all_hosts_group = htonl(INADDR_ALLHOSTS_GROUP); 104 igmp_all_rtrs_group = htonl(INADDR_ALLRTRS_GROUP); 105 106 igmp_timers_are_running = 0; 107 108 /* 109 * Construct a Router Alert option to use in outgoing packets 110 */ |
111 MGET(router_alert, M_DONTWAIT, MT_DATA); | 111 MGET(router_alert, M_NOWAIT, MT_DATA); |
112 ra = mtod(router_alert, struct ipoption *); 113 ra->ipopt_dst.s_addr = 0; 114 ra->ipopt_list[0] = IPOPT_RA; /* Router Alert Option */ 115 ra->ipopt_list[1] = 0x04; /* 4 bytes long */ 116 ra->ipopt_list[2] = 0x00; 117 ra->ipopt_list[3] = 0x00; 118 router_alert->m_len = sizeof(ra->ipopt_dst) + ra->ipopt_list[1]; 119 --- 320 unchanged lines hidden (view full) --- 440 int type; 441 unsigned long addr; 442{ 443 struct mbuf *m; 444 struct igmp *igmp; 445 struct ip *ip; 446 struct ip_moptions imo; 447 | 112 ra = mtod(router_alert, struct ipoption *); 113 ra->ipopt_dst.s_addr = 0; 114 ra->ipopt_list[0] = IPOPT_RA; /* Router Alert Option */ 115 ra->ipopt_list[1] = 0x04; /* 4 bytes long */ 116 ra->ipopt_list[2] = 0x00; 117 ra->ipopt_list[3] = 0x00; 118 router_alert->m_len = sizeof(ra->ipopt_dst) + ra->ipopt_list[1]; 119 --- 320 unchanged lines hidden (view full) --- 440 int type; 441 unsigned long addr; 442{ 443 struct mbuf *m; 444 struct igmp *igmp; 445 struct ip *ip; 446 struct ip_moptions imo; 447 |
448 MGETHDR(m, M_DONTWAIT, MT_HEADER); | 448 MGETHDR(m, M_NOWAIT, MT_HEADER); |
449 if (m == NULL) 450 return; 451 452 m->m_pkthdr.rcvif = loif; 453#ifdef MAC 454 mac_create_mbuf_linklayer(inm->inm_ifp, m); 455#endif 456 m->m_pkthdr.len = sizeof(struct ip) + IGMP_MINLEN; --- 37 unchanged lines hidden --- | 449 if (m == NULL) 450 return; 451 452 m->m_pkthdr.rcvif = loif; 453#ifdef MAC 454 mac_create_mbuf_linklayer(inm->inm_ifp, m); 455#endif 456 m->m_pkthdr.len = sizeof(struct ip) + IGMP_MINLEN; --- 37 unchanged lines hidden --- |