#
40cf51c4 |
| 20-Dec-2017 |
Li-Wen Hsu <lwhsu@FreeBSD.org> |
Add missing `;`
Approved by: kevlo
|
#
b103855e |
| 20-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Support attaching tx queues to cpus
This will attempt to use a different thread/core on the same L2 cache when possible, or use the same cpu as the rx thread when not. If SMP isn't enabled, don't go
Support attaching tx queues to cpus
This will attempt to use a different thread/core on the same L2 cache when possible, or use the same cpu as the rx thread when not. If SMP isn't enabled, don't go looking for cores to use. This is mostly useful when using shared TX/RX queues.
Reviewed by: sbruno Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12446
show more ...
|
#
96fc97c8 |
| 19-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Update Matthew Macy contact info
Email address has changed, uses consistent name (Matthew, not Matt)
Reported by: Matthew Macy <mmacy@mattmacy.io> Differential Revision: https://reviews.freebsd.org
Update Matthew Macy contact info
Email address has changed, uses consistent name (Matthew, not Matt)
Reported by: Matthew Macy <mmacy@mattmacy.io> Differential Revision: https://reviews.freebsd.org/D13537
show more ...
|
#
06c47d48 |
| 11-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Increment encap_pad_mbuf_fail when m_dup() fails in padding
Previously, the counter was only incremented when m_append() failed. Since the function can also fail on m_dup() now, increment the count
Increment encap_pad_mbuf_fail when m_dup() fails in padding
Previously, the counter was only incremented when m_append() failed. Since the function can also fail on m_dup() now, increment the counter there as well.
Sponsored by: Limelight Networks
show more ...
|
#
04993890 |
| 08-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Free mbuf chain when m_dup fails
Fix memory leak where mbuf chain wasn't free()d if iflib_ether_pad() has a failure in m_dup().
Reported by: "Ryan Stone" <rysto32@gmail.com> Sponsored by: Limelight
Free mbuf chain when m_dup fails
Fix memory leak where mbuf chain wasn't free()d if iflib_ether_pad() has a failure in m_dup().
Reported by: "Ryan Stone" <rysto32@gmail.com> Sponsored by: Limelight Networks
show more ...
|
#
a15fbbb8 |
| 08-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Handle read-only mbufs in iflib ether pad function
If ethernet padding is enabled, and a read-only mbuf is passed, it would modify the mbuf using m_append(). Instead, call m_dup() and append to the
Handle read-only mbufs in iflib ether pad function
If ethernet padding is enabled, and a read-only mbuf is passed, it would modify the mbuf using m_append(). Instead, call m_dup() and append to the new packet.
Reported by: Pyun YongHyeon Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13414
show more ...
|
#
d14c853b |
| 05-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
iflib: Support to padding Ethernet frames to a min size
Some bnxt devices do not correctly send frames smaller than 52 bytes (without CRC), so add a quirk that will pad frames to an arbitrary size b
iflib: Support to padding Ethernet frames to a min size
Some bnxt devices do not correctly send frames smaller than 52 bytes (without CRC), so add a quirk that will pad frames to an arbitrary size before passing off to the encap routine.
Reported by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13269
show more ...
|
#
fe1bcada |
| 05-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Avoid calling CURVNET_[SET|RESTORE] for each packet
The LRO possible test was calling CURVNET_SET once for IPv4 or IPv6 for each packet in a chain. Only call it once per chain instead.
Submitted by
Avoid calling CURVNET_[SET|RESTORE] for each packet
The LRO possible test was calling CURVNET_SET once for IPv4 or IPv6 for each packet in a chain. Only call it once per chain instead.
Submitted by: Matthew Macy <mmacy@mattmacy.io> Reviewed by: cem, ae Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13368
show more ...
|
#
a027c8e9 |
| 01-Dec-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Add support for SIOCGIFXMEDIA to iflib
SIOCGIFXMEDIA is required for extended ethernet media types, but iflib did not support it.
Reported by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.c
Add support for SIOCGIFXMEDIA to iflib
SIOCGIFXMEDIA is required for extended ethernet media types, but iflib did not support it.
Reported by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13312
show more ...
|
#
772593db |
| 29-Nov-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Fix comment introduced in r326369
The code uses the set of all CPUs, it doesn't zero out the set.
Sponsored by: Limelight Networks
|
#
e516b535 |
| 29-Nov-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Ensure that ctx->ifc_cpus is always initialized
If a device didn't support MSI-X, ctx->ifc_cpus would not be initialized, but the IRQ allocation routines still uses the value. Move the initializati
Ensure that ctx->ifc_cpus is always initialized
If a device didn't support MSI-X, ctx->ifc_cpus would not be initialized, but the IRQ allocation routines still uses the value. Move the initialization to common code.
Sponsored by: Limelight Networks
show more ...
|
#
82725ba9 |
| 23-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325999 through r326131.
|
#
7274b2f6 |
| 20-Nov-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Fix off-by-one error in bit_nclear() usage
bit_nclear() takes the bit numbers for the start and end bits, not the start and a count. This was resulting in memory corruption past the end of the bits
Fix off-by-one error in bit_nclear() usage
bit_nclear() takes the bit numbers for the start and end bits, not the start and a count. This was resulting in memory corruption past the end of the bitstr_t.
Sponsored by: Limelight Networks
show more ...
|
#
937d37fc |
| 19-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325842 through r325998.
|
#
d2735264 |
| 16-Nov-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Fix default numbers of iflib queue sets
The intent appears to be having one RX/TX queue set per core, but since scctx->isc_n[tr]xqsets is set to max before calling iflib_msix_init(), both end up bei
Fix default numbers of iflib queue sets
The intent appears to be having one RX/TX queue set per core, but since scctx->isc_n[tr]xqsets is set to max before calling iflib_msix_init(), both end up being set to total number of cores.
Use ctx->ifc_sysctl_n[rt]xqs as the selected value and scctx->isc_n[rt]xqsets as the max. This should result in what appears to be the intended behaviour
Reviewed by: sbruno Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D13096
show more ...
|
#
c2c014f2 |
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|
#
abec4724 |
| 06-Nov-2017 |
Sean Bruno <sbruno@FreeBSD.org> |
Fix NOINET/NOINET6 build during compilation of iflib.
Reported by: kib
|
#
35e4e998 |
| 06-Nov-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Only chain non-LRO mbufs when LRO is not possible
Preserve packet order between tcp_lro_rx() and if_input() to avoid creating extra corner cases. If no packets can be LROed, combine them into one ch
Only chain non-LRO mbufs when LRO is not possible
Preserve packet order between tcp_lro_rx() and if_input() to avoid creating extra corner cases. If no packets can be LROed, combine them into one chain for submission via if_input(). If any packet can potentially be LROed however, retain old behaviour and call if_input() for each packet.
This should keep the 12% improvement for small packet forwarding intact, but mostly avoids impacting the LRO case.
Reviewed by: cem, sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12876
show more ...
|
#
f6e116ee |
| 04-Nov-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325383
|
#
0b6c52b6 |
| 31-Oct-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Preserve TSO checksum flags
r323941 incorrectly disabled TSO flags based on MTU.
Reported by: Yuri Pankov <yuripv@gmx.com> Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight N
Preserve TSO checksum flags
r323941 incorrectly disabled TSO flags based on MTU.
Reported by: Yuri Pankov <yuripv@gmx.com> Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12880
show more ...
|
#
a1b799ca |
| 31-Oct-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Fix PR221990 - Assertion at iflib.c:1947
ifl_pidx and ifl_credits are going out of sync in _iflib_fl_refill() as they use different update log. Use the same update logic for both, and add a final c
Fix PR221990 - Assertion at iflib.c:1947
ifl_pidx and ifl_credits are going out of sync in _iflib_fl_refill() as they use different update log. Use the same update logic for both, and add a final call to isc_rxd_refill() to handle early exits from the loop.
PR: 221990 Reported by: pho Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12798
show more ...
|
#
0821ef1a |
| 31-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325209
|
#
10e0d938 |
| 31-Oct-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
Fix build with nodevice netmap
iru_init() was declared and used outside the DEV_NETMAP conditional blocks, but was implemented inside one. Move the implementation out of the DEV_NETMAP block to allo
Fix build with nodevice netmap
iru_init() was declared and used outside the DEV_NETMAP conditional blocks, but was implemented inside one. Move the implementation out of the DEV_NETMAP block to allow building with netmap disabled.
Reported by: Andrew Turner <andrew@fubar.geek.nz> Reviewed by: sbruno Approved by: sbruno (mentor) Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D12842
show more ...
|
#
076777cc |
| 31-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325199
|
#
09b57b7f |
| 30-Oct-2017 |
Stephen Hurd <shurd@FreeBSD.org> |
bnxt: HW_LRO Rx Pkt with > 32 fragments caused Crash (iflib)
Broadcom NIC with HW_LRO setting max_agg_segs >= 6 can generate Rx pkt with 64 (2^6) fragments, modify IFLIB_MAX_RX_SEGS to 64 to avoid m
bnxt: HW_LRO Rx Pkt with > 32 fragments caused Crash (iflib)
Broadcom NIC with HW_LRO setting max_agg_segs >= 6 can generate Rx pkt with 64 (2^6) fragments, modify IFLIB_MAX_RX_SEGS to 64 to avoid memory corruption / Crash.
Submitted by: Bhargava Chenna Marreddy <bhargava.marreddy@broadcom.com> Reviewed by: shurd, sbruno Approved by: sbruno (mentor) Sponsored by: Broadcom Limited Differential Revision: https://reviews.freebsd.org/D12774
show more ...
|