freebsd-dev/sys/net
Luigi Rizzo cd46a114fc This commit does two things:
1. rt_check() cleanup:
    rt_check() is only necessary for some address families to gain access
    to the corresponding arp entry, so call it only in/near the *resolve()
    routines where it is actually used -- at the moment this is
    arpresolve(), nd6_storelladdr() (the call is embedded here),
    and atmresolve() (the call is just before atmresolve to reduce
    the number of changes).
    This change will make it a lot easier to decouple the arp table
    from the routing table.

    There is an extra call to rt_check() in if_iso88025subr.c to
    determine the routing info length. I have left it alone for
    the time being.

    The interface of arpresolve() and nd6_storelladdr() now changes slightly:
     + the 'rtentry' parameter (really a hint from the upper level layer)
       is now passed unchanged from *_output(), so it becomes the route
       to the final destination and not to the gateway.
     + the routines will return 0 if resolution is possible, non-zero
       otherwise.
     + arpresolve() returns EWOULDBLOCK in case the mbuf is being held
       waiting for an arp reply -- in this case the error code is masked
       in the caller so the upper layer protocol will not see a failure.

2. arpcom untangling
    Where possible, use 'struct ifnet' instead of 'struct arpcom' variables,
    and use the IFP2AC macro to access arpcom fields.
    This mostly affects the netatalk code.

=== Detailed changes: ===
net/if_arcsubr.c
   rt_check() cleanup, remove a useless variable

net/if_atmsubr.c
   rt_check() cleanup

net/if_ethersubr.c
   rt_check() cleanup, arpcom untangling

net/if_fddisubr.c
   rt_check() cleanup, arpcom untangling

net/if_iso88025subr.c
   rt_check() cleanup

netatalk/aarp.c
   arpcom untangling, remove a block of duplicated code

netatalk/at_extern.h
   arpcom untangling

netinet/if_ether.c
   rt_check() cleanup (change arpresolve)

netinet6/nd6.c
   rt_check() cleanup (change nd6_storelladdr)
2004-04-25 09:24:52 +00:00
..
bpf_compat.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpf_filter.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpf.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpf.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpfdesc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bridge.c arpcom untangling: 2004-04-24 22:11:13 +00:00
bridge.h
bsd_comp.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
ethernet.h
fddi.h
if_arc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_arcsubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_arp.h + rename and document an unused field in struct arpcom (field is still 2004-04-18 01:15:32 +00:00
if_atm.h
if_atmsubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_disc.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_dl.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_ef.c
if_ethersubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_faith.c Staticize <if>_clone_{create,destroy} functions. 2004-04-14 00:57:49 +00:00
if_fddisubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_gif.c Staticize <if>_clone_{create,destroy} functions. 2004-04-14 00:57:49 +00:00
if_gif.h Properly detect loops by recording the interface pointer in an mtag. 2004-04-05 16:55:15 +00:00
if_gre.c Add the comment of the previous commit to the source file directly. 2004-04-23 16:57:43 +00:00
if_gre.h
if_iso88025subr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_llc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_loop.c Staticize <if>_clone_{create,destroy} functions. 2004-04-14 00:57:49 +00:00
if_media.c
if_media.h Add Direct Sequence 354K and 512K (needed for arl(4)). 2004-04-13 19:23:46 +00:00
if_mib.c
if_mib.h
if_ppp.c First pass at softc list locking for if_ppp.c. Many parts of 2004-04-19 01:36:24 +00:00
if_ppp.h
if_pppvar.h
if_sl.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_slvar.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_sppp.h
if_spppsubr.c
if_stf.c Use an tempory struct ifnet *ifp instead of sc->sc_if to access the 2004-04-19 05:06:27 +00:00
if_stf.h
if_tap.c
if_tap.h
if_tapvar.h
if_tun.c
if_tun.h
if_types.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_var.h Make if_(un)route static in if.c as they are called from if_up/if_down only. 2004-04-18 18:59:44 +00:00
if_vlan_var.h
if_vlan.c arpcom untangling: 2004-04-24 22:24:48 +00:00
if.c arpcom untangling: 2004-04-24 22:24:48 +00:00
if.h Added the new interface capability option for drivers that implement 2004-04-11 13:36:52 +00:00
iso88025.h
net_osdep.c
net_osdep.h
netisr.c
netisr.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
pfil.c
pfil.h
pfkeyv2.h
ppp_comp.h
ppp_deflate.c
ppp_defs.h
ppp_tty.c
radix.c Readability fixes: 2004-04-21 15:27:36 +00:00
radix.h + move MKGet()/MKFree() into the only file that can use them. 2004-04-18 11:48:35 +00:00
raw_cb.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
raw_cb.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
raw_usrreq.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
route.c fix one typo and remove one wrong line 2004-04-25 01:39:00 +00:00
route.h document the locking behaviour of the functions that access 2004-04-24 23:34:04 +00:00
rtsock.c More style and deobfuscation fixes. 2004-04-19 07:20:32 +00:00
slcompress.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
slcompress.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
slip.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
zlib.c
zlib.h