freebsd-skq/sys/net
Luigi Rizzo bbb4330b61 Massive cleanup of the ip_mroute code.
No functional changes, but:

  + the mrouting module now should behave the same as the compiled-in
    version (it did not before, some of the rsvp code was not loaded
    properly);
  + netinet/ip_mroute.c is now truly optional;
  + removed some redundant/unused code;
  + changed many instances of '0' to NULL and INADDR_ANY as appropriate;
  + removed several static variables to make the code more SMP-friendly;
  + fixed some minor bugs in the mrouting code (mostly, incorrect return
    values from functions).

This commit is also a prerequisite to the addition of support for PIM,
which i would like to put in before DP2 (it does not change any of
the existing APIs, anyways).

Note, in the process we found out that some device drivers fail to
properly handle changes in IFF_ALLMULTI, leading to interesting
behaviour when a multicast router is started. This bug is not
corrected by this commit, and will be fixed with a separate commit.

Detailed changes:
--------------------
netinet/ip_mroute.c     all the above.
conf/files              make ip_mroute.c optional
net/route.c             fix mrt_ioctl hook
netinet/ip_input.c      fix ip_mforward hook, move rsvp_input() here
                        together with other rsvp code, and a couple
                        of indentation fixes.
netinet/ip_output.c     fix ip_mforward and ip_mcast_src hooks
netinet/ip_var.h        rsvp function hooks
netinet/raw_ip.c        hooks for mrouting and rsvp functions, plus
                        interface cleanup.
netinet/ip_mroute.h     remove an unused and optional field from a struct

Most of the code is from Pavlin Radoslavov and the XORP project

Reviewed by: sam
MFC after: 1 week
2002-11-15 22:53:53 +00:00
..
bpf_compat.h
bpf_filter.c Turn on BPF_ALIGN for all non-i386 platforms, instead of having an 2002-07-05 00:06:08 +00:00
bpf.c o add support for multiple link types per interface (e.g. 802.11 and Ethernet) 2002-11-14 23:24:13 +00:00
bpf.h o add support for multiple link types per interface (e.g. 802.11 and Ethernet) 2002-11-14 23:24:13 +00:00
bpfdesc.h o add support for multiple link types per interface (e.g. 802.11 and Ethernet) 2002-11-14 23:24:13 +00:00
bridge.c track changes to ethernet input handling to no longer strip the Ethernet header 2002-11-14 23:57:09 +00:00
bridge.h network interface and link layer changes: 2002-11-15 00:00:15 +00:00
bsd_comp.c Be consistent about functions being static. 2002-10-16 10:45:53 +00:00
ethernet.h general cleanups mostly aimed at improving portability of drivers 2002-11-14 23:28:47 +00:00
fddi.h network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_arc.h s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
if_arcsubr.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_arp.h bring in ARP support for variable length link level addresses 2001-10-14 20:17:53 +00:00
if_atm.h Remove __P. 2002-03-19 21:54:18 +00:00
if_atmsubr.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_disc.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_dl.h Move ISO88025 source routing information into sockaddr_dl's sdl_data 2002-05-07 22:14:06 +00:00
if_ef.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_ethersubr.c o change input packet handling to eliminate the pointer to the struct 2002-11-14 23:35:06 +00:00
if_faith.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_fddisubr.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_gif.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_gif.h - after gif_set_tunnel(), psrc/pdst may be null. set IFF_RUNNING accordingly. 2002-10-16 19:49:37 +00:00
if_gre.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_gre.h s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
if_ieee80211.h Add kernel print bits #define for the IEEE80211_CAPINFO bits. 2002-06-24 04:40:12 +00:00
if_iso88025subr.c Use if_printf(ifp, "blah") instead of 2002-10-21 02:51:56 +00:00
if_llc.h s/__attribute__((__packed__))/__packed/g 2002-09-23 06:25:08 +00:00
if_loop.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_media.c At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
if_media.h Add some additional 802.11 media definitions. 2002-07-14 21:58:19 +00:00
if_mib.c The interface index space may be sparsely populated (e.g. when an 2001-10-17 04:12:29 +00:00
if_mib.h
if_ppp.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_ppp.h
if_pppvar.h Make ppp(4) devices clonable and unloadable. 2002-08-09 15:30:48 +00:00
if_sl.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_slvar.h sc_lasttime and sc_starttime are time_t's, not long's. 2001-10-27 20:31:24 +00:00
if_sppp.h Implement an option to administratively disable the negotiation of 2001-12-30 20:42:29 +00:00
if_spppsubr.c Be consistent about functions being static. 2002-10-16 10:45:53 +00:00
if_stf.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_stf.h just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD. 2002-04-19 04:46:24 +00:00
if_tap.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_tap.h
if_tapvar.h Add cloning support for the tap(4) device similar to that in the tun(4) 2001-09-05 01:06:21 +00:00
if_tun.c network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_tun.h
if_tunvar.h
if_types.h
if_var.h o add if_nvlans member to track the number of vlans active on an interface 2002-11-14 23:36:28 +00:00
if_vlan_var.h o eliminate separate callback interface for h/w tagged input packets; instead 2002-11-14 23:43:16 +00:00
if_vlan.c o eliminate separate callback interface for h/w tagged input packets; instead 2002-11-14 23:43:16 +00:00
if.c Back out rev 1.150; things are more complicated than this. 2002-11-15 18:42:10 +00:00
if.h o add IF_*bps macros for netbsd compatibility 2002-11-14 23:16:18 +00:00
intrq.c Initialise the intrq_present fields at runtime, not link time. This allows 2002-01-08 10:34:03 +00:00
intrq.h Remove __P. 2002-03-19 21:54:18 +00:00
iso88025.h use __packed/__aligned rather than GCC-specific __attribute__. 2002-09-23 06:35:33 +00:00
net_osdep.c just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD. 2002-04-19 04:46:24 +00:00
net_osdep.h just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD. 2002-04-19 04:46:24 +00:00
netisr.c Moved netisr code from kern/kern_intr.c to net/netisr.c as threatened in a 2002-09-22 05:56:41 +00:00
netisr.h Slight whitespace cleanup. Whitespace sync to MAC tree. 2002-07-27 19:53:02 +00:00
pfil.c Remove __P. 2002-03-19 21:54:18 +00:00
pfil.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 09:34:04 +00:00
pfkeyv2.h add definitions for RIPEMD-160 HMAC and Skipjack encryption algorithms, 2002-10-16 02:18:56 +00:00
ppp_comp.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 09:34:04 +00:00
ppp_deflate.c Be consistent about functions being static. 2002-10-16 10:45:53 +00:00
ppp_defs.h
ppp_tty.c Use if_printf(ifp, "blah") instead of printf("ppp%d: blah", ifp->if_unit). 2002-10-21 03:41:58 +00:00
radix.c Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
radix.h Remove __P. 2002-03-19 21:54:18 +00:00
raw_cb.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
raw_cb.h Remove __P. 2002-03-19 21:54:18 +00:00
raw_usrreq.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
route.c Massive cleanup of the ip_mroute code. 2002-11-15 22:53:53 +00:00
route.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 09:34:04 +00:00
rtsock.c Fix some harmless mis-indents. 2002-10-01 15:48:31 +00:00
slcompress.c Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
slcompress.h Remove __P. 2002-03-19 21:54:18 +00:00
slip.h
zlib.c Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
zlib.h Add one copy of crc32() and crc32_tab[] in libkern, and remove it two other 2002-05-29 20:24:09 +00:00