CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2015/06/16 05:09:40
Modified files:
sys/kern : uipc_mbuf.c uipc_socket.c
sys/net : bpf.c bpf.h bridgestp.c if.c if_bridge.c
if_ethersubr.c if_loop.c if_mpe.c if_pflow.c
if_pfsync.c if_ppp.c if_pppoe.c if_spppsubr.c
if_trunk.c if_tun.c if_vlan.c pf.c pipex.c
ppp_tty.c rtsock.c
sys/netinet : if_ether.c igmp.c in_gif.c ip_carp.c
ip_divert.c ip_ether.c ip_gre.c ip_icmp.c
ip_input.c ip_ipip.c ip_output.c ipsec_input.c
tcp_input.c tcp_output.c tcp_subr.c
udp_usrreq.c
sys/netinet6 : frag6.c icmp6.c in6_gif.c ip6_divert.c
ip6_forward.c ip6_input.c ip6_mroute.c
ip6_output.c mld6.c nd6.c nd6_nbr.c nd6_rtr.c
raw_ip6.c
sys/netmpls : mpls_input.c
sys/nfs : krpc_subr.c nfs_subs.c nfs_syscalls.c
sys/sys : mbuf.h
Log message:
Store a unique ID, an interface index, rather than a pointer to the
receiving interface in the packet header of every mbuf.
The interface pointer should now be retrieved when necessary with
if_get(). If a NULL pointer is returned by if_get(), the interface
has probably been destroy/removed and the mbuf should be freed.
Such mechanism will simplify garbage collection of mbufs and limit
problems with dangling ifp pointers.
Tested by jmatthew@ and krw@, discussed with many.
ok mikeb@, bluhm@, dlg@