opnsense-src/sys/net
Sean Bruno 51a621f7c0 bnxt(4) Enable LRO support
iflib - Handle out of order packet delivery from hardware in support of LRO

Out of order updates to rxd's is fixed in r315217. However, it is not
completely fixed.  While refilling the buffers, iflib is not considering
the out of order descriptors. Hence, it is refilling sequentially.
"idx" variable in _iflib_fl_refill routine is incremented sequentially.
By doing refilling sequentially, it will override the SGEs that
are *IN USE* by other connections.  Fix is to maintain a bitmap of
rx descriptors and differentiate the used one with unused one and
refill only at the unused indices.  This patch also fixes a
few bugs in bnxt, related to the same feature.

Submitted by:	bhargava.marreddy@broadcom.com
Reviewed by:	shurd@
Differential Revision:	https://reviews.freebsd.org/D10681
2017-06-15 21:06:03 +00:00
..
altq Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
bpf.c Ignore ifnet renaming in the bpf ifnet departure handler. 2017-03-13 09:04:10 +00:00
bpf.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bpf_buffer.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bpf_buffer.h Call bpf_jitter() before acquiring BPF global lock due to malloc() being used inside bpf_jitter. 2012-05-21 22:19:19 +00:00
bpf_filter.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
bpf_jitter.c Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
bpf_jitter.h Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
bpf_zerocopy.c - Modify vm_page_unwire() and vm_page_enqueue() to directly accept 2014-06-16 18:15:27 +00:00
bpf_zerocopy.h - Fix trivial typo 2012-01-14 17:07:52 +00:00
bpfdesc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
bridgestp.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
bridgestp.h Move the interface media check to a taskqueue, some interfaces (usb) sleep 2012-04-20 10:06:28 +00:00
dlt.h MFV r313759: license change for a few headers (4 clause BSD to 3 clause BSD). 2017-02-15 07:22:47 +00:00
ethernet.h net/vlan: Revert 305177 2017-05-19 01:42:31 +00:00
fddi.h
firewire.h
flowtable.c Add variable declaration missing in r302372. 2016-07-06 17:46:49 +00:00
flowtable.h Add my copyright to flowtable. 2014-02-17 12:07:17 +00:00
ieee8023ad_lacp.c Add several new media types to if_media.h 2017-05-10 18:33:40 +00:00
ieee8023ad_lacp.h Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
ieee_oui.h Bump bhyve allocation up to 20 bits to avoid 2014-05-20 02:59:13 +00:00
if.c Persistently store NIC's hardware MAC address, and add a way to retrive it 2017-05-10 22:13:47 +00:00
if.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_arc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_arcsubr.c Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
if_arp.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_bridge.c Make if_bridge complain if it can't disable some capabilities. 2017-04-29 08:52:07 +00:00
if_bridgevar.h bridge: Release the bridge lock when calling bridge_set_ifcap() 2017-01-25 21:25:26 +00:00
if_clone.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_clone.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_dead.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_debug.c Add more fields to if_debug.c for ddb(4) 'show ifnet'; resort 2016-06-22 12:53:10 +00:00
if_disc.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_dl.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_edsc.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_enc.c Declare module version. 2017-03-27 07:56:41 +00:00
if_enc.h Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
if_epair.c Fixed typo in comment found while reading commit email for fix of 2017-04-08 04:50:50 +00:00
if_ethersubr.c Persistently store NIC's hardware MAC address, and add a way to retrive it 2017-05-11 06:46:39 +00:00
if_fddisubr.c sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
if_fwsubr.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_gif.c Extract out the various local definitions of ETHER_IS_BROADCAST() and 2016-08-07 03:48:33 +00:00
if_gif.h - Remove GIF_{SEND,ACCEPT}_REVETHIP. 2015-09-10 05:59:39 +00:00
if_gre.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_gre.h Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_ipsec.c Introduce the concept of IPsec security policies scope. 2017-03-07 00:13:53 +00:00
if_ipsec.h Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
if_iso88025subr.c sys: Replace zero with NULL for pointers. 2017-02-22 02:35:59 +00:00
if_lagg.c Call VLAN_CAPABILITIES() when LAGG capabilities change. 2017-05-26 22:22:48 +00:00
if_lagg.h Remove some code, dead from the day one. 2017-05-25 23:19:09 +00:00
if_llatbl.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
if_llatbl.h Make LLTABLE list lock private for if_llatbl.c 2016-10-11 17:41:13 +00:00
if_llc.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_loop.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_me.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_media.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
if_media.h Add several new media types to if_media.h 2017-05-10 18:33:40 +00:00
if_mib.c These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
if_mib.h
if_pflog.h o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
if_pfsync.h Remove more constants related to static sysctl nodes. The MAXID constants 2014-02-25 18:44:33 +00:00
if_sppp.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_spppfr.c Mechanically convert to if_inc_counter(). 2014-09-19 10:39:58 +00:00
if_spppsubr.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
if_stf.c Remove now unneded cast. 2017-03-08 08:09:41 +00:00
if_tap.c if_tap: correct typo in sysctl description (Enably) 2015-10-21 19:56:16 +00:00
if_tap.h
if_tapvar.h Revert part of an earlier patch attempt that snuck in with r240938. 2012-09-25 23:41:45 +00:00
if_tun.c Allow writing IP packets of length TUNMRU no matter if TUNSIFHEAD is set 2016-05-19 13:52:12 +00:00
if_tun.h Allow an MTU of 65535 bytes to be set via TUN[SG]IFINFO. This requires 2016-05-24 11:47:14 +00:00
if_types.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
if_var.h Persistently store NIC's hardware MAC address, and add a way to retrive it 2017-05-10 22:13:47 +00:00
if_vlan.c Add parent interface reference counting to if_vlan. 2017-05-23 00:13:27 +00:00
if_vlan_var.h Add support to priority code point (PCP) that is an 3-bit field 2016-06-06 09:51:58 +00:00
if_vxlan.c net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties 2016-06-07 04:51:50 +00:00
if_vxlan.h Add vxlan interface 2014-10-20 14:42:42 +00:00
ifdi_if.m IFLIB updates 2017-03-13 22:53:06 +00:00
iflib.c bnxt(4) Enable LRO support 2017-06-15 21:06:03 +00:00
iflib.h Move pause frame counter out of struct if_ctx and into struct if_softc_ctx_t 2017-04-07 00:33:03 +00:00
ifq.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
iso88025.h Replace 'struct route *' if_output() argument with 'struct nhop_info *'. 2014-11-09 16:33:04 +00:00
mp_ring.c sys/net: more spelling. 2016-05-19 16:28:05 +00:00
mp_ring.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
mppc.h ng_mppc(4): Bring netgraph(3) MPPC compression support. 2016-06-07 15:07:00 +00:00
mppcc.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
mppcd.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
netisr.c Bring back r313037, with fixes for mips: 2017-02-19 02:03:09 +00:00
netisr.h Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
netisr_internal.h Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34:19 +00:00
netmap.h Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
netmap_user.h remove trailing whitespace. No code changes. 2016-10-18 15:41:57 +00:00
netmap_virt.h Various fixes for ptnet/ptnetmap (passthrough of netmap ports). In detail: 2016-10-27 09:46:22 +00:00
paravirt.h Update to the current version of netmap. 2014-08-16 15:00:01 +00:00
pfil.c Remove "IPFW static rules" rmlock. 2017-04-03 13:35:04 +00:00
pfil.h Remove "IPFW static rules" rmlock. 2017-04-03 13:35:04 +00:00
pfkeyv2.h Introduce the concept of IPsec security policies scope. 2017-03-07 00:13:53 +00:00
pfvar.h pf: Fix possible shutdown race 2017-03-22 21:18:18 +00:00
ppp_defs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
radix.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
radix.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
radix_mpath.c radix_mpath: Don't derefence a NULL pointer in for loop iteration 2016-04-26 20:27:17 +00:00
radix_mpath.h MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
raw_cb.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
raw_cb.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
raw_usrreq.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rndis.h hyperv/hn: Define empty packet filter. 2016-10-27 04:55:19 +00:00
route.c Resurrect RTF_RNH_LOCKED flag and restore ability to call rtalloc1_fib() 2017-06-13 10:52:31 +00:00
route.h Resurrect RTF_RNH_LOCKED flag and restore ability to call rtalloc1_fib() 2017-06-13 10:52:31 +00:00
route_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rss_config.c sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
rss_config.h Replace the printf()s with optional rate limited debugging for RSS. 2015-08-28 05:58:16 +00:00
rtsock.c Fix typo in comment. 2017-04-08 04:37:01 +00:00
sff8436.h Add SFF-8024 Extended Specification Compliance 2015-12-28 09:26:07 +00:00
sff8472.h sys/net*: minor spelling fixes. 2016-05-03 18:05:43 +00:00
slcompress.c Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
slcompress.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
toeplitz.c Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
toeplitz.h Refactor / restructure the RSS code into generic, IPv4 and IPv6 specific 2015-01-18 18:06:40 +00:00
vnet.c Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
vnet.h Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00