Deleted Added
full compact
ip_mroute.c (111119) ip_mroute.c (111888)
1/*
2 * IP multicast forwarding procedures
3 *
4 * Written by David Waitzman, BBN Labs, August 1988.
5 * Modified by Steve Deering, Stanford, February 1989.
6 * Modified by Mark J. Steiglitz, Stanford, May, 1991
7 * Modified by Van Jacobson, LBL, January 1993
8 * Modified by Ajit Thyagarajan, PARC, August 1993
9 * Modified by Bill Fenner, PARC, April 1995
10 *
11 * MROUTING Revision: 3.5
1/*
2 * IP multicast forwarding procedures
3 *
4 * Written by David Waitzman, BBN Labs, August 1988.
5 * Modified by Steve Deering, Stanford, February 1989.
6 * Modified by Mark J. Steiglitz, Stanford, May, 1991
7 * Modified by Van Jacobson, LBL, January 1993
8 * Modified by Ajit Thyagarajan, PARC, August 1993
9 * Modified by Bill Fenner, PARC, April 1995
10 *
11 * MROUTING Revision: 3.5
12 * $FreeBSD: head/sys/netinet/ip_mroute.c 111119 2003-02-19 05:47:46Z imp $
12 * $FreeBSD: head/sys/netinet/ip_mroute.c 111888 2003-03-04 23:19:55Z jlemon $
13 */
14
15#include "opt_mac.h"
16#include "opt_mrouting.h"
17#include "opt_random_ip_id.h"
18
19#include <sys/param.h>
20#include <sys/kernel.h>

--- 7 unchanged lines hidden (view full) ---

28#include <sys/socketvar.h>
29#include <sys/sockio.h>
30#include <sys/sx.h>
31#include <sys/sysctl.h>
32#include <sys/syslog.h>
33#include <sys/systm.h>
34#include <sys/time.h>
35#include <net/if.h>
13 */
14
15#include "opt_mac.h"
16#include "opt_mrouting.h"
17#include "opt_random_ip_id.h"
18
19#include <sys/param.h>
20#include <sys/kernel.h>

--- 7 unchanged lines hidden (view full) ---

28#include <sys/socketvar.h>
29#include <sys/sockio.h>
30#include <sys/sx.h>
31#include <sys/sysctl.h>
32#include <sys/syslog.h>
33#include <sys/systm.h>
34#include <sys/time.h>
35#include <net/if.h>
36#include <net/netisr.h>
36#include <net/route.h>
37#include <netinet/in.h>
38#include <netinet/igmp.h>
39#include <netinet/in_systm.h>
40#include <netinet/in_var.h>
41#include <netinet/ip.h>
42#include <netinet/ip_encap.h>
43#include <netinet/ip_mroute.h>

--- 505 unchanged lines hidden (view full) ---

549 if (hlen > sizeof(struct ip))
550 ip_stripoptions(m, (struct mbuf *) 0);
551 m->m_data += sizeof(struct ip);
552 m->m_len -= sizeof(struct ip);
553 m->m_pkthdr.len -= sizeof(struct ip);
554
555 m->m_pkthdr.rcvif = last_encap_vif->v_ifp;
556
37#include <net/route.h>
38#include <netinet/in.h>
39#include <netinet/igmp.h>
40#include <netinet/in_systm.h>
41#include <netinet/in_var.h>
42#include <netinet/ip.h>
43#include <netinet/ip_encap.h>
44#include <netinet/ip_mroute.h>

--- 505 unchanged lines hidden (view full) ---

550 if (hlen > sizeof(struct ip))
551 ip_stripoptions(m, (struct mbuf *) 0);
552 m->m_data += sizeof(struct ip);
553 m->m_len -= sizeof(struct ip);
554 m->m_pkthdr.len -= sizeof(struct ip);
555
556 m->m_pkthdr.rcvif = last_encap_vif->v_ifp;
557
557 (void) IF_HANDOFF(&ipintrq, m, NULL);
558 netisr_queue(NETISR_IP, m);
558 /*
559 * normally we would need a "schednetisr(NETISR_IP)"
560 * here but we were called by ip_input and it is going
561 * to loop back & try to dequeue the packet we just
562 * queued as soon as we return so we avoid the
563 * unnecessary software interrrupt.
559 /*
560 * normally we would need a "schednetisr(NETISR_IP)"
561 * here but we were called by ip_input and it is going
562 * to loop back & try to dequeue the packet we just
563 * queued as soon as we return so we avoid the
564 * unnecessary software interrrupt.
565 *
566 * XXX
567 * This no longer holds - we may have direct-dispatched the packet,
568 * or there may be a queue processing limit.
564 */
565}
566
567extern struct domain inetdomain;
568static struct protosw mroute_encap_protosw =
569{ SOCK_RAW, &inetdomain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR,
570 mroute_encap_input, 0, 0, rip_ctloutput,
571 0,

--- 1349 unchanged lines hidden ---
569 */
570}
571
572extern struct domain inetdomain;
573static struct protosw mroute_encap_protosw =
574{ SOCK_RAW, &inetdomain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR,
575 mroute_encap_input, 0, 0, rip_ctloutput,
576 0,

--- 1349 unchanged lines hidden ---