History log of /freebsd/sys/net/iflib.c (Results 251 – 275 of 370)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


1...<<1112131415