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@

Reply via email to