IFC HEAD_fast_net

inpcb rtentry & llentry caching

186573, 186575, 186576, 186578, 186579, 186580

186573:
- Cache rtentry in inpcb for connected sockets

186575:
- Add cached llentry to inpcb
- reduce header pollution by removing net/route.h
  from in_pcb.h

186576:
- install cached llentry in the inpcb and then pass
  down to ether_output in the struct route

186578:
- don't LLE_FREE if llentry is unchanged

186579:
- cleanup upgrade / downgrade checks for route and lle

186580:
- don't check INP_WLOCKED if inp is NULL
IFC HEAD_fast_net

add flowtable to bypass L3 and L2 lookups:

186583:
 import updated flowtable for use by forwarding
  and unconnected sockets
 extend flowtable usage to other areas
186585, 186621, 186629, 186631

186585:
-  make ipv4 forwarding flowtable aware

186621:
- initialize ro_dst at the beginning of ip_forward

186629:
- make flowtable_lookup handle case of NULL mbuf

186631:
- use flowtable_lookup in in_pcbladdr to avoid
  contending in calls to in_pcbconnect_setup
  when the laddr is not bound
enable flowid usage
186588, 186591, 186592, 186594

186588: (included)
- enabled flowid usage for supporting multiple
  transmit queues

186591, 186592: (included)
- validate so before checking options in tcp_input
- so isn't set yet, reference inp_socket

186594: (included)
- set flowid valid flag in cxgb
add route weighting and generalizing of affinity to source ip
instead of per-flow

186625:
-  import kernel support for route shutdown

186626:
- import user support for route shutdown

186628:
- don't lookup laddr or lport if they're already set

186630:
- fix route shutdown merge

186923:
- Add kernel support for weighting routes

186924:
- remove RTA_GENMASK

186925:
- remove genmask
- add -weight option to route for adding / changing
  route weight

1868994:
 - add kernel support for "sticky" routes
  (all connections from a given source ip will
  be routed to the same dst ip)

186995:
- add support to the route command for making
  routes sticky

187003:
- add new flags to route output
- remove hopcount

187004:
-  update route flags and metricnames in route command

187005:
- fetch weight when getting metrics

187006:
- try to improve formatting slightly in route

187007:
- more output futzing
- add show as alias for get

187008:
- update show handling

187009:
- remove shutdown
- update route flags

187010:
- fix flag setting in RTM_CHANGE

187011:
- add debug cruft to route selection

187012:
- fix rn_mpath_count and reduce frequency of printing

187013:
- update loop condition print hash earlier

187040:
- reduce default timeouts in the flowtable
- remove references to shutdown (redundant with
  zero weight route)
- simplify weight checking

187041:
- fix radix_mpath comment
- remove shutdown flag and message

187206:
- include opt_mpath.h so that RADIX_MPATH will be
  pulled in
- remove locking overhead to forwarding workloads
  by making forwarding table pcpu
Change if_output interface to allow passing cached lle
  down to L2:
186574, 186577, 186673

186574:
- Change if_output interface to allow passing cached lle
  down to L2

186577:
- used cache lle where possible

186673:
- fix if_output calls in modules
Use per-cpu callouts for tcp_timer
186694, 187660

186694:
- convert tcp_timer_activate over to using
  per-cpu callouts
- don't acquire the tcbinfo lock exclusively
  in tcp_timer_rexmt unless needed for tcp_drop

187660:
- mp_maxid may not be valid ensure that we
  re-schedule on cpuid less than or equal to
  the current one for tcp callouts
: Add ip_output_fast for handling ip transmit in the common case:
186620, 186624

186620:
- Add ip_output_fast for handling ip transmit
  in the common case

186624:
- attempt to further streamline ip_output checks
 add option to make em use a buf_ring
186584

186584:
- Bring in if_transmit support for if_em
- fix a use after free bug that was fixed in r185621