freebsd-skq/sys/netinet6
qingli 1d851edfc0 This checkin addresses a couple of issues:
1. The "route" command allows route insertion through the interface-direct
   option "-iface". During if_attach(), an sockaddr_dl{} entry is created
   for the interface and is part of the interface address list. This
   sockaddr_dl{} entry describes the interface in detail. The "route"
   command selects this entry as the "gateway" object when the "-iface"
   option is present. The "arp" and "ndp" commands also interact with the
   kernel through the routing socket when adding and removing static L2
   entries. The static L2 information is also provided through the
   "gateway" object with an AF_LINK family type, similar to what is
   provided by the "route" command. In order to differentiate between
   these two types of operations, a RTF_LLDATA flag is introduced. This
   flag is set by the "arp" and "ndp" commands when issuing the add and
   delete commands. This flag is also set in each L2 entry returned by the
   kernel. The "arp" and "ndp" command follows a convention where a RTM_GET
   is issued first followed by a RTM_ADD/DELETE. This RTM_GET request fills
   in the fields for a "rtm" object, which is reinjected into the kernel by
   a subsequent RTM_ADD/DELETE command. The entry returend from RTM_GET
   is a prefix route, so the RTF_LLDATA flag must be specified when issuing
   the RTM_ADD/DELETE messages.

2. Enforce the convention that NET_RT_FLAGS with a 0 w_arg is the
   specification for retrieving L2 information. Also optimized the
   code logic.

Reviewed by:   julian
2008-12-26 19:45:24 +00:00
..
dest6.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
frag6.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
icmp6.c Another step assimilating IPv[46] PCB code: 2008-12-17 13:00:18 +00:00
icmp6.h
in6_cksum.c Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
in6_gif.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
in6_gif.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
in6_ifattach.c RTF_RNH_LOCKED needs to be passed in the flags arg not report, 2008-12-12 02:07:45 +00:00
in6_ifattach.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
in6_pcb.c Another step assimilating IPv[46] PCB code - directly use 2008-12-15 21:50:54 +00:00
in6_pcb.h Merge in6_pcbfree() into in_pcbfree() which after the previous 2008-11-27 12:04:35 +00:00
in6_proto.c Put a global variables, which were virtualized but formerly 2008-12-11 16:26:38 +00:00
in6_rmx.c in6_clsroute() was applied to prefix routes causing some 2008-12-17 10:03:49 +00:00
in6_src.c check return from lla_lookup against NULL not zero 2008-12-16 02:30:42 +00:00
in6_var.h This main goals of this project are: 2008-12-15 06:10:57 +00:00
in6.c This checkin addresses a couple of issues: 2008-12-26 19:45:24 +00:00
in6.h Default to ignoring potentially evil IPv6 Neighbor Solicitation 2008-10-02 00:32:59 +00:00
ip6_ecn.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
ip6_forward.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
ip6_id.c Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
ip6_input.c Correct variable name in comment. 2008-12-22 12:54:52 +00:00
ip6_ipsec.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
ip6_ipsec.h #if 0 out a currently unsued (and incomplete) function: ip6_ipsec_mtu(). 2008-03-14 11:44:30 +00:00
ip6_mroute.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
ip6_mroute.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
ip6_output.c Another step assimilating IPv[46] PCB code: 2008-12-17 13:00:18 +00:00
ip6_var.h This main goals of this project are: 2008-12-15 06:10:57 +00:00
ip6.h
ip6protosw.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
mld6_var.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
mld6.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
nd6_nbr.c avoid lock recursion by deferring the link check until after LLE lock is dropped 2008-12-24 01:08:18 +00:00
nd6_rtr.c Remove the rt argument from nd6_storelladdr() because 2008-12-17 10:27:34 +00:00
nd6.c in6_clsroute() was applied to prefix routes causing some 2008-12-17 10:03:49 +00:00
nd6.h in6_clsroute() was applied to prefix routes causing some 2008-12-17 10:03:49 +00:00
pim6_var.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
pim6.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
raw_ip6.c Another step assimilating IPv[46] PCB code: 2008-12-17 13:00:18 +00:00
raw_ip6.h Second round of putting global variables, which were virtualized 2008-12-13 19:13:03 +00:00
route6.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
scope6_var.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
scope6.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
sctp6_usrreq.c Code from the hack-session known as the IETF (and a 2008-12-06 13:19:54 +00:00
sctp6_var.h 1) Adds the rest of the VIMAGE change macros 2008-07-09 16:45:30 +00:00
tcp6_var.h Put a global variables, which were virtualized but formerly 2008-12-11 16:26:38 +00:00
udp6_usrreq.c Another step assimilating IPv[46] PCB code: 2008-12-17 13:00:18 +00:00
udp6_var.h Clean up VCS Ids. 2007-12-10 16:03:40 +00:00
vinet6.h This main goals of this project are: 2008-12-15 06:10:57 +00:00