]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Remove 'struct route_int6' argument from in6_selectsrc() and
authormelifaro <melifaro@FreeBSD.org>
Sun, 3 Jan 2016 10:43:23 +0000 (10:43 +0000)
committermelifaro <melifaro@FreeBSD.org>
Sun, 3 Jan 2016 10:43:23 +0000 (10:43 +0000)
commit113d546f8ecabbda4bac08e3683eb3f7c98e9e7c
tree8748af7180bc58ee451c248c5cffb7e199c52f9a
parentbf5c2cedf1ab1365ec7925a4c18e6797cf4302af
Remove 'struct route_int6' argument from in6_selectsrc() and
  in6_selectif().

The main task of in6_selectsrc() is to return IPv6 SAS (along with
  output interface used for scope checks). No data-path code uses
  route argument for caching. The only users are icmp6 (reflect code),
  ND6 ns/na generation code. All this fucntions are control-plane, so
  there is no reason to try to 'optimize' something by passing cached
  route into to ip6_output(). Given that, simplify code by eliminating
  in6_selectsrc() 'struct route_in6' argument. Since in6_selectif() is
  used only by in6_selectsrc(), eliminate its 'struct route_in6' argument,
  too. While here, reshape rte-related code inside in6_selectif() to
  free lookup result immediately after saving all the needed fields.
sys/netinet6/icmp6.c
sys/netinet6/in6_pcb.c
sys/netinet6/in6_src.c
sys/netinet6/ip6_var.h
sys/netinet6/nd6_nbr.c
sys/netinet6/raw_ip6.c
sys/netinet6/udp6_usrreq.c