svn commit: r348999 - in head: bin/stty share/man/man4 sys/dev/uart sys/dev/usb/serial sys/kern sys/sys

2019-06-12 Thread Stephen Hurd
Author: shurd Date: Wed Jun 12 18:07:04 2019 New Revision: 348999 URL: https://svnweb.freebsd.org/changeset/base/348999 Log: Some devices take undesired actions when RTS and DTR are asserted. Some development boards for example will reset on DTR, and some radio interfaces will transmit on

svn commit: r346708 - in head: share/man/man4 sys/net

2019-04-25 Thread Stephen Hurd
Author: shurd Date: Thu Apr 25 21:24:56 2019 New Revision: 346708 URL: https://svnweb.freebsd.org/changeset/base/346708 Log: iflib: Better control over queue core assignment By default, cores are now assigned to queues in a sequential manner rather than all NICs starting at the first

svn commit: r344162 - head/sys/net

2019-02-15 Thread Stephen Hurd
Author: shurd Date: Fri Feb 15 18:51:43 2019 New Revision: 344162 URL: https://svnweb.freebsd.org/changeset/base/344162 Log: iflib: Improve return values of interrupt handlers. iflib was returning FILTER_HANDLED, in cases where FILTER_STRAY was more correct. This potentially caused

svn commit: r343047 - head/sys/netinet

2019-01-15 Thread Stephen Hurd
Author: shurd Date: Tue Jan 15 17:40:19 2019 New Revision: 343047 URL: https://svnweb.freebsd.org/changeset/base/343047 Log: Fix window update issue when scaling disabled When the TCP window scale option is not used, and the window opens up enough in one soreceive, a window update will

svn commit: r342855 - head/sys/net

2019-01-07 Thread Stephen Hurd
Author: shurd Date: Mon Jan 7 23:46:54 2019 New Revision: 342855 URL: https://svnweb.freebsd.org/changeset/base/342855 Log: Use iflib_if_init_locked() during resume instead of iflib_init_locked(). iflib_init_locked() assumes that iflib_stop() has been called, however, it is not called

svn commit: r341824 - head/sys/net

2018-12-11 Thread Stephen Hurd
Author: shurd Date: Tue Dec 11 17:46:01 2018 New Revision: 341824 URL: https://svnweb.freebsd.org/changeset/base/341824 Log: Fix !tx_abdicate error from r336560 r336560 was supposed to restore pre-r323954 behaviour when tx_abdicate is not set (the default case). However, it appears that

svn commit: r341156 - in head/sys/dev: ixgbe ixl

2018-11-28 Thread Stephen Hurd
Author: shurd Date: Wed Nov 28 17:37:17 2018 New Revision: 341156 URL: https://svnweb.freebsd.org/changeset/base/341156 Log: Fix first-packet completion The first packet after the ring is initialized was never completed as isc_txd_credits_update() would not include it in the count of

svn commit: r340445 - head/sys/net

2018-11-14 Thread Stephen Hurd
Author: shurd Date: Wed Nov 14 20:36:18 2018 New Revision: 340445 URL: https://svnweb.freebsd.org/changeset/base/340445 Log: Clear RX completion queue state veriables in iflib_stop() iflib_stop() was not resetting the rxq completion queue state variables. This meant that for any driver

svn commit: r340435 - head/sys/net

2018-11-14 Thread Stephen Hurd
Author: shurd Date: Wed Nov 14 15:23:39 2018 New Revision: 340435 URL: https://svnweb.freebsd.org/changeset/base/340435 Log: Prevent POLA violation with TSO/CSUM offload Ensure that any time CSUM_IP_TSO or CSUM_IP6_TSO is set that the corresponding CSUM_IP6?_TCP / CSUM_IP flags are also

svn commit: r340434 - head/sys/net

2018-11-14 Thread Stephen Hurd
Author: shurd Date: Wed Nov 14 15:16:45 2018 New Revision: 340434 URL: https://svnweb.freebsd.org/changeset/base/340434 Log: Fix leaks caused by ifc_nhwtxqs never being initialized r333502 removed initialization of ifc_nhwtxqs, and it's not clear there's a need to copy it into the struct

svn commit: r340310 - head/sys/dev/e1000

2018-11-09 Thread Stephen Hurd
Author: shurd Date: Fri Nov 9 22:18:43 2018 New Revision: 340310 URL: https://svnweb.freebsd.org/changeset/base/340310 Log: Fix first-packet completion The first packet after the ring is initialized was never completed as isc_txd_credits_update() would not include it in the count of

svn commit: r340236 - head/sys/net

2018-11-07 Thread Stephen Hurd
Author: shurd Date: Wed Nov 7 19:31:48 2018 New Revision: 340236 URL: https://svnweb.freebsd.org/changeset/base/340236 Log: Fix rxcsum issue introduced in r338838 r338838 attempted to fix issues with rxcsum and rxcsum6. However, the rxcsum bits were set as though if_setcapenablebit()

svn commit: r339861 - in head/sys: kern sys

2018-10-29 Thread Stephen Hurd
Author: shurd Date: Mon Oct 29 14:36:03 2018 New Revision: 339861 URL: https://svnweb.freebsd.org/changeset/base/339861 Log: Drain grouptaskqueue of the gtask before detaching it. taskqgroup_detach() would remove the task even if it was running or enqueued, which could lead to panics

svn commit: r339267 - head/sys/dev/e1000

2018-10-09 Thread Stephen Hurd
Author: shurd Date: Tue Oct 9 20:16:19 2018 New Revision: 339267 URL: https://svnweb.freebsd.org/changeset/base/339267 Log: Use mbuf defines to construct csum offload masks rather than literals Reviewed by: erj Approved by: re (rgrimes) Sponsored by: Limelight Networks

svn commit: r339207 - head/sys/dev/e1000

2018-10-05 Thread Stephen Hurd
Author: shurd Date: Fri Oct 5 20:16:20 2018 New Revision: 339207 URL: https://svnweb.freebsd.org/changeset/base/339207 Log: Fix igb corrupting checksums with BPF and VLAN When using a vlan with igb and the vlanhwcsum option, any mbufs which already had the TCP, UDP, or SCTP checksum

svn commit: r338840 - head/sys/dev/e1000

2018-09-20 Thread Stephen Hurd
Author: shurd Date: Thu Sep 20 20:06:44 2018 New Revision: 338840 URL: https://svnweb.freebsd.org/changeset/base/338840 Log: Add IFCAP_TSO6 for igb It seems igb supports TSO6, but the capability got lost in the iflib update. Restore this capability. PR: 231476 Reported

svn commit: r338838 - head/sys/net

2018-09-20 Thread Stephen Hurd
Author: shurd Date: Thu Sep 20 19:35:35 2018 New Revision: 338838 URL: https://svnweb.freebsd.org/changeset/base/338838 Log: Fix capabilities handling for iflib drivers Various capabilities were not being handled correctly in the SIOCSIFCAP handler. Specifically: IFCAP_RXCSUM and

svn commit: r338834 - in head/share/man: man4 man9

2018-09-20 Thread Stephen Hurd
Author: shurd Date: Thu Sep 20 18:24:32 2018 New Revision: 338834 URL: https://svnweb.freebsd.org/changeset/base/338834 Log: Add iflib.4 manpage The new manpage documents the tunables and statistic sysctls exposed by iflib. Reviewed by: bcr Approved by: re (gjb) Sponsored by:

svn commit: r338373 - head/sys/net

2018-08-29 Thread Stephen Hurd
Author: shurd Date: Wed Aug 29 16:21:34 2018 New Revision: 338373 URL: https://svnweb.freebsd.org/changeset/base/338373 Log: Fix compile error due to missing parenthesis in r338372 Approved by: re (gjb) Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c

svn commit: r338372 - head/sys/net

2018-08-29 Thread Stephen Hurd
Author: shurd Date: Wed Aug 29 15:55:25 2018 New Revision: 338372 URL: https://svnweb.freebsd.org/changeset/base/338372 Log: Fix potential data corruption in iflib The MP ring may have txq pointers enqueued. Previously, these were passed to m_free() when IFC_QFLUSH was set. This patch

svn commit: r336560 - head/sys/net

2018-07-20 Thread Stephen Hurd
Author: shurd Date: Fri Jul 20 17:45:26 2018 New Revision: 336560 URL: https://svnweb.freebsd.org/changeset/base/336560 Log: Add knob to control tx ring abdication. r323954 changed the mp ring behaviour when 64-bit atomics were available to abdicate the TX ring rather than having one

svn commit: r336559 - head/sys/net

2018-07-20 Thread Stephen Hurd
Author: shurd Date: Fri Jul 20 17:24:45 2018 New Revision: 336559 URL: https://svnweb.freebsd.org/changeset/base/336559 Log: Improve netmap TX handling when TX IRQs are not used/supported Use the timer to poll for TX completions when there are outstanding TX slots. Track when the last

svn commit: r334862 - head/sys/net

2018-06-08 Thread Stephen Hurd
Author: shurd Date: Fri Jun 8 21:49:19 2018 New Revision: 334862 URL: https://svnweb.freebsd.org/changeset/base/334862 Log: Remove tx task spinning added in r333686 This caused issues with PASTE. Just remove the reschedule since the DELAY() should be enough for use cases such as

svn commit: r334358 - in head/sys: kern net sys

2018-05-29 Thread Stephen Hurd
Author: shurd Date: Tue May 29 21:56:39 2018 New Revision: 334358 URL: https://svnweb.freebsd.org/changeset/base/334358 Log: iflib: mark irq allocation name parameter as constant The *name parameter passed to iflib_irq_alloc_generic and iflib_softirq_alloc_generic is never modified. Many

svn commit: r333686 - head/sys/net

2018-05-16 Thread Stephen Hurd
Author: shurd Date: Wed May 16 21:03:22 2018 New Revision: 333686 URL: https://svnweb.freebsd.org/changeset/base/333686 Log: Work around lack of TX IRQs in iflib for netmap When poll() is called via netmap, txsync is initially called, and if there are no available buffers to reclaim, it

svn commit: r333637 - head/sys/netinet

2018-05-15 Thread Stephen Hurd
Author: shurd Date: Tue May 15 16:54:41 2018 New Revision: 333637 URL: https://svnweb.freebsd.org/changeset/base/333637 Log: Check that ifma_protospec != NULL in inm_lookup If ifma_protospec is NULL when inm_lookup() is called, there is a dereference in a NULL struct pointer. This

svn commit: r333612 - head/sys/net

2018-05-14 Thread Stephen Hurd
Author: shurd Date: Mon May 14 20:06:49 2018 New Revision: 333612 URL: https://svnweb.freebsd.org/changeset/base/333612 Log: Replace rmlock with epoch in lagg Use the new epoch based reclamation API. Now the hot paths will not block at all, and the sx lock is used for the softc data.

svn commit: r333505 - in head/sys: netinet netinet6

2018-05-11 Thread Stephen Hurd
Author: shurd Date: Fri May 11 21:42:27 2018 New Revision: 333505 URL: https://svnweb.freebsd.org/changeset/base/333505 Log: Fix LORs in in6?_leave_group() r333175 updated the join_group functions, but not the leave_group ones. Reviewed by: sbruno Sponsored by: Limelight Networks

svn commit: r333501 - head/usr.sbin/mld6query

2018-05-11 Thread Stephen Hurd
Author: shurd Date: Fri May 11 19:37:18 2018 New Revision: 333501 URL: https://svnweb.freebsd.org/changeset/base/333501 Log: Fix mld6query(8) and add a new -g option The mld6query command relies on KAME behaviour which allows the ipv6mr_multiaddr member of the request object in a

svn commit: r333373 - head/sys/net

2018-05-08 Thread Stephen Hurd
Author: shurd Date: Tue May 8 17:15:10 2018 New Revision: 73 URL: https://svnweb.freebsd.org/changeset/base/73 Log: iflib: print message when iflib_tx_structures_setup fails Print a message when iflib_tx_structures_setup fails, like we do for iflib_rx_structures_setup. Now

svn commit: r333366 - head/sys/net

2018-05-08 Thread Stephen Hurd
Author: shurd Date: Tue May 8 16:56:02 2018 New Revision: 66 URL: https://svnweb.freebsd.org/changeset/base/66 Log: iflib: cleanup queues when iflib_device_register fail Submitted by: Jacob Keller Reviewed by: gallatin MFC after:3 days

svn commit: r333254 - head/sys/net

2018-05-04 Thread Stephen Hurd
Author: shurd Date: Fri May 4 15:20:34 2018 New Revision: 333254 URL: https://svnweb.freebsd.org/changeset/base/333254 Log: iflib: fix invalid free during queue allocation failure In r301567, code was added to cleanup to prevent memory leaks for the Tx and Rx ring structs. This code

svn commit: r333253 - head/sys/net

2018-05-04 Thread Stephen Hurd
Author: shurd Date: Fri May 4 15:11:16 2018 New Revision: 333253 URL: https://svnweb.freebsd.org/changeset/base/333253 Log: iflib: remove unused brscp pointer from iflib_queues_alloc This pointer was no longer written to as of r315217. Since nothing writes to the variable, remove it.

svn commit: r333218 - head/sys/net

2018-05-03 Thread Stephen Hurd
Author: shurd Date: Thu May 3 17:02:31 2018 New Revision: 333218 URL: https://svnweb.freebsd.org/changeset/base/333218 Log: Allow iflib NIC drivers to sleep rather than busy wait Since the move to SMP NIC driver locking has had to go through serious contortions using mtx around long

svn commit: r333175 - in head/sys: kern net netinet netinet6 sys

2018-05-02 Thread Stephen Hurd
Author: shurd Date: Wed May 2 19:36:29 2018 New Revision: 333175 URL: https://svnweb.freebsd.org/changeset/base/333175 Log: Separate list manipulation locking from state change in multicast Multicast incorrectly calls in to drivers with a mutex held causing drivers to have to go through

svn commit: r332729 - head/sys/net

2018-04-18 Thread Stephen Hurd
Author: shurd Date: Wed Apr 18 15:34:18 2018 New Revision: 332729 URL: https://svnweb.freebsd.org/changeset/base/332729 Log: iflib: Fix queue distribution when there are no threads Previously, if there are no threads, all queues which targeted cores that share an L2 cache were bound to a

svn commit: r332419 - head/sys/net

2018-04-11 Thread Stephen Hurd
Author: shurd Date: Wed Apr 11 21:41:59 2018 New Revision: 332419 URL: https://svnweb.freebsd.org/changeset/base/332419 Log: Properly initialize ifc_nhwtxqs. Also, since ifc_nhwrxqs is only used in one place, remove it from the struct. This was preventing iflib_dma_free() from being

svn commit: r332389 - head/sys/net

2018-04-10 Thread Stephen Hurd
Author: shurd Date: Tue Apr 10 19:48:24 2018 New Revision: 332389 URL: https://svnweb.freebsd.org/changeset/base/332389 Log: Split out flag manipulation from general context manipulation in iflib To avoid blocking on the context lock in the swi thread and risk potential deadlocks, this

svn commit: r332388 - in head/sys: kern net

2018-04-10 Thread Stephen Hurd
Author: shurd Date: Tue Apr 10 19:42:50 2018 New Revision: 332388 URL: https://svnweb.freebsd.org/changeset/base/332388 Log: Make BPF global lock an SX This allows NIC drivers to sleep on polling config operations. Submitted by: Matthew Macy Reviewed by: shurd

svn commit: r331310 - head/sys/dev/e1000

2018-03-21 Thread Stephen Hurd
Author: shurd Date: Wed Mar 21 15:57:36 2018 New Revision: 331310 URL: https://svnweb.freebsd.org/changeset/base/331310 Log: Update copyright per Matthew Macy "Under my tutelage Nicole did 85% of the work. At the time it seemed simplest for a number of reasons to put my copyright on it.

svn commit: r330289 - head/sys/net

2018-03-02 Thread Stephen Hurd
Author: shurd Date: Fri Mar 2 18:48:07 2018 New Revision: 330289 URL: https://svnweb.freebsd.org/changeset/base/330289 Log: iflib: stop timer callout when stopping iflib_timer has been seen running after the interface had been removed. This change prevents that. Submitted by:

svn commit: r329742 - head/sys/net

2018-02-21 Thread Stephen Hurd
Author: shurd Date: Wed Feb 21 18:57:00 2018 New Revision: 329742 URL: https://svnweb.freebsd.org/changeset/base/329742 Log: IFLIB: Make isc_magic unsigned The IFLIB_MAGIC macro is > INT_MAX, so isc_magic should be able to contain it. Reported by: jeb Sponsored by: Limelight

svn commit: r329651 - head/sys/net

2018-02-20 Thread Stephen Hurd
Author: shurd Date: Tue Feb 20 18:33:45 2018 New Revision: 329651 URL: https://svnweb.freebsd.org/changeset/base/329651 Log: IFLIB: do not remove dmamap on buffer unload Dmamap is created only on IFC attach. If we remove it on buffer release, we won't be able to do ifconfig down Only

svn commit: r329335 - head/share/man/man4

2018-02-15 Thread Stephen Hurd
Enable / Disable Flow Control feature. Defaults to Enable .El .Sh DIAGNOSTICS .Bl -diag @@ -219,6 +244,8 @@ device driver first appeared in The .Nm driver was written by -.An Jack Vogel Aq Mt jfvo...@gmail.com , +.An Jack Vogel Aq Mt jfvo...@gmail.com +and +.An Stephen Hurd Aq Mt sh...@freeb

svn commit: r327247 - head/sys/net

2017-12-27 Thread Stephen Hurd
Author: shurd Date: Wed Dec 27 20:42:30 2017 New Revision: 327247 URL: https://svnweb.freebsd.org/changeset/base/327247 Log: Don't pass rids to taskqgroup_attach() As everywhere else, we want to pass rman_get_start(irq->ii_res). This caused set affinity errors when not using MSI-X

svn commit: r327244 - head/sys/net

2017-12-27 Thread Stephen Hurd
Author: shurd Date: Wed Dec 27 19:14:15 2017 New Revision: 327244 URL: https://svnweb.freebsd.org/changeset/base/327244 Log: Remove assertion that's not true for !EARLY_AP_STARTUP gtask->gt_taskqueue is NULL when EARLY_AP_STARTUP is not enabled. Remove assertion to allow this config to

svn commit: r327242 - head/sys/net

2017-12-27 Thread Stephen Hurd
Author: shurd Date: Wed Dec 27 19:12:32 2017 New Revision: 327242 URL: https://svnweb.freebsd.org/changeset/base/327242 Log: Fix indentation. Sponsored by: Limelight Networks Modified: head/sys/net/iflib.c Modified: head/sys/net/iflib.c

Re: svn commit: r327013 - head/sys/net

2017-12-23 Thread Stephen Hurd
Oleg Bulyzhin wrote: On Fri, Dec 22, 2017 at 07:11:36PM -0500, Stephen Hurd wrote: Interesting... is this a standard GENERIC kernel, or is this a custom config? If a custom config, can you send it to me? Also, does this system have any other iflib drivers? igb, em, or bnxt? Can you include

Re: svn commit: r327013 - head/sys/net

2017-12-22 Thread Stephen Hurd
Oleg Bulyzhin wrote: On Fri, Dec 22, 2017 at 01:22:20PM -0500, Stephen Hurd wrote: Can you provide me with the output of ``sysctl kern.sched.topology_spec''? # sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3 0 1 2

Re: svn commit: r327013 - head/sys/net

2017-12-22 Thread Stephen Hurd
Oleg Bulyzhin wrote: On Wed, Dec 20, 2017 at 01:03:34AM +, Stephen Hurd wrote: Author: shurd Date: Wed Dec 20 01:03:34 2017 New Revision: 327013 URL: https://svnweb.freebsd.org/changeset/base/327013 Log: Support attaching tx queues to cpus This will attempt to use a different

svn commit: r327052 - head/sys/net

2017-12-20 Thread Stephen Hurd
Author: shurd Date: Thu Dec 21 01:22:36 2017 New Revision: 327052 URL: https://svnweb.freebsd.org/changeset/base/327052 Log: Don't call tcp_lro_rx() unless hardware verified TCP/UDP csum It seems that tcp_lro_rx() doesn't verify TCP checksums, so if there are bad checksums in the packets

svn commit: r327013 - head/sys/net

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Wed Dec 20 01:03:34 2017 New Revision: 327013 URL: https://svnweb.freebsd.org/changeset/base/327013 Log: 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

svn commit: r327003 - head/sys/dev/bnxt

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 22:15:46 2017 New Revision: 327003 URL: https://svnweb.freebsd.org/changeset/base/327003 Log: Add log messages for unknown and unhandled phy types Previously, it silently only supported auto, instead, log a message indicating why only auto is supported.

svn commit: r327001 - head/sys/dev/bnxt

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 22:06:25 2017 New Revision: 327001 URL: https://svnweb.freebsd.org/changeset/base/327001 Log: On Link up & down, update media types It's possible to change the SFP module when link is down, which would change the available media types. This is part of

svn commit: r327000 - head/sys/dev/bnxt

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 21:07:30 2017 New Revision: 327000 URL: https://svnweb.freebsd.org/changeset/base/327000 Log: Support short HWRM commands New Stratus bnxt devices require support for short HWRM commands for VFs to function. Enable their use, but only use them if it's both

svn commit: r326999 - head/sys/dev/bnxt

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 20:32:45 2017 New Revision: 326999 URL: https://svnweb.freebsd.org/changeset/base/326999 Log: Don't populate NVRAM sysctls for VFs Only the PF allows NVRAM interaction on bnxt devices. Submitted by: Bhargava Chenna Marreddy

svn commit: r326985 - head/sys/dev/bnxt

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 18:12:18 2017 New Revision: 326985 URL: https://svnweb.freebsd.org/changeset/base/326985 Log: Add byte swapping in bnxt_cfg_async_cr() request The firmware is always in little endian, use htole*() for all request fields larger than one byte. Submitted

svn commit: r326984 - in head: share/man/man4 sys/compat/linuxkpi/common/src sys/dev/e1000 sys/net sys/sys

2017-12-19 Thread Stephen Hurd
Author: shurd Date: Tue Dec 19 17:59:00 2017 New Revision: 326984 URL: https://svnweb.freebsd.org/changeset/base/326984 Log: Update Matthew Macy contact info Email address has changed, uses consistent name (Matthew, not Matt) Reported by: Matthew Macy

svn commit: r326775 - head/sys/net

2017-12-11 Thread Stephen Hurd
Author: shurd Date: Mon Dec 11 20:01:28 2017 New Revision: 326775 URL: https://svnweb.freebsd.org/changeset/base/326775 Log: 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

svn commit: r326706 - head/sys/net

2017-12-08 Thread Stephen Hurd
Author: shurd Date: Fri Dec 8 19:50:06 2017 New Revision: 326706 URL: https://svnweb.freebsd.org/changeset/base/326706 Log: 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"

svn commit: r326702 - head/sys/net

2017-12-08 Thread Stephen Hurd
Author: shurd Date: Fri Dec 8 18:43:31 2017 New Revision: 326702 URL: https://svnweb.freebsd.org/changeset/base/326702 Log: 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().

svn commit: r326578 - in head/sys: dev/bnxt net

2017-12-05 Thread Stephen Hurd
Author: shurd Date: Tue Dec 5 21:00:31 2017 New Revision: 326578 URL: https://svnweb.freebsd.org/changeset/base/326578 Log: 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

svn commit: r326577 - head/sys/net

2017-12-05 Thread Stephen Hurd
Author: shurd Date: Tue Dec 5 20:43:24 2017 New Revision: 326577 URL: https://svnweb.freebsd.org/changeset/base/326577 Log: 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

svn commit: r326432 - head/sys/net

2017-12-01 Thread Stephen Hurd
Author: shurd Date: Fri Dec 1 17:58:20 2017 New Revision: 326432 URL: https://svnweb.freebsd.org/changeset/base/326432 Log: Add support for SIOCGIFXMEDIA to iflib SIOCGIFXMEDIA is required for extended ethernet media types, but iflib did not support it. Reported by: Bhargava

svn commit: r326370 - head/sys/net

2017-11-29 Thread Stephen Hurd
Author: shurd Date: Wed Nov 29 18:21:17 2017 New Revision: 326370 URL: https://svnweb.freebsd.org/changeset/base/326370 Log: Fix comment introduced in r326369 The code uses the set of all CPUs, it doesn't zero out the set. Sponsored by: Limelight Networks Modified:

svn commit: r326369 - head/sys/net

2017-11-29 Thread Stephen Hurd
Author: shurd Date: Wed Nov 29 18:14:57 2017 New Revision: 326369 URL: https://svnweb.freebsd.org/changeset/base/326369 Log: 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

svn commit: r326033 - head/sys/net

2017-11-20 Thread Stephen Hurd
Author: shurd Date: Mon Nov 20 21:57:04 2017 New Revision: 326033 URL: https://svnweb.freebsd.org/changeset/base/326033 Log: 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

svn commit: r325901 - head/sys/net

2017-11-16 Thread Stephen Hurd
Author: shurd Date: Thu Nov 16 18:52:58 2017 New Revision: 325901 URL: https://svnweb.freebsd.org/changeset/base/325901 Log: 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

svn commit: r325488 - head/sys/dev/bnxt

2017-11-06 Thread Stephen Hurd
Author: shurd Date: Mon Nov 6 16:41:29 2017 New Revision: 325488 URL: https://svnweb.freebsd.org/changeset/base/325488 Log: bnxt: Add support for new phy_types and speeds - Part #2 Use our ifm_list of supported media types rather than nested switch statements to find the current media

svn commit: r325487 - head/sys/net

2017-11-06 Thread Stephen Hurd
Author: shurd Date: Mon Nov 6 16:23:21 2017 New Revision: 325487 URL: https://svnweb.freebsd.org/changeset/base/325487 Log: 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

svn commit: r325245 - head/sys/net

2017-10-31 Thread Stephen Hurd
Author: shurd Date: Tue Oct 31 19:03:35 2017 New Revision: 325245 URL: https://svnweb.freebsd.org/changeset/base/325245 Log: Preserve TSO checksum flags r323941 incorrectly disabled TSO flags based on MTU. Reported by: Yuri Pankov Reviewed by: sbruno Approved

svn commit: r325241 - head/sys/net

2017-10-31 Thread Stephen Hurd
Author: shurd Date: Tue Oct 31 17:50:42 2017 New Revision: 325241 URL: https://svnweb.freebsd.org/changeset/base/325241 Log: 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

svn commit: r325201 - head/sys/net

2017-10-30 Thread Stephen Hurd
Author: shurd Date: Tue Oct 31 02:49:28 2017 New Revision: 325201 URL: https://svnweb.freebsd.org/changeset/base/325201 Log: Fix build with nodevice netmap iru_init() was declared and used outside the DEV_NETMAP conditional blocks, but was implemented inside one. Move the

svn commit: r325169 - head/sys/dev/bnxt

2017-10-30 Thread Stephen Hurd
Author: shurd Date: Mon Oct 30 21:26:23 2017 New Revision: 325169 URL: https://svnweb.freebsd.org/changeset/base/325169 Log: bnxt: Add support for new phy_types and speeds 1) Add new phy_types and speeds from the latest firmware header. 2) Introduced a macro to avoid code duplication and

svn commit: r325168 - head/sys/net

2017-10-30 Thread Stephen Hurd
Author: shurd Date: Mon Oct 30 21:20:33 2017 New Revision: 325168 URL: https://svnweb.freebsd.org/changeset/base/325168 Log: 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

svn commit: r325167 - head/sys/net

2017-10-30 Thread Stephen Hurd
Author: shurd Date: Mon Oct 30 21:14:31 2017 New Revision: 325167 URL: https://svnweb.freebsd.org/changeset/base/325167 Log: Fix PR222744 - netmap errors with iflib em driver Fix error when refilling netmap buffers that resulted in the first buffer of the successive passes through

svn commit: r325166 - head/sys/net

2017-10-30 Thread Stephen Hurd
Author: shurd Date: Mon Oct 30 21:08:12 2017 New Revision: 325166 URL: https://svnweb.freebsd.org/changeset/base/325166 Log: Avoid enabling MSI-X if MSI-X is disabled globally It was reported on the community call that with hw.pci.enable_msix=0, iflib would enable MSI-X on the device and

svn commit: r324964 - head/sys/dev/bnxt

2017-10-24 Thread Stephen Hurd
Author: shurd Date: Tue Oct 24 21:18:50 2017 New Revision: 324964 URL: https://svnweb.freebsd.org/changeset/base/324964 Log: bnxt: add support for Flow control setting using sysctl Created sysctl node dev.bnxt.0.fc with following options. A. dev.bnxt.0.fc.autoneg B. dev.bnxt.0.fc.rx

svn commit: r324937 - head/sys/net

2017-10-23 Thread Stephen Hurd
Author: shurd Date: Mon Oct 23 20:50:08 2017 New Revision: 324937 URL: https://svnweb.freebsd.org/changeset/base/324937 Log: Some cache related optimizations 1. prefetch 128 bytes of mbufs. 2. Re-order filling the pkt_info so cache stalls happen at the end 3. Define empty

svn commit: r324323 - head/sys/dev/bnxt

2017-10-05 Thread Stephen Hurd
Author: shurd Date: Thu Oct 5 17:52:38 2017 New Revision: 324323 URL: https://svnweb.freebsd.org/changeset/base/324323 Log: bnxt: fix intermittent VLAN issues bnxt_init() is invokes Function Reset (bnxt_hwrm_func_reset) and thus FW configuration for VLANs get erased. To fix this, in

svn commit: r324318 - in head/sys: dev/bnxt dev/e1000 kern net

2017-10-05 Thread Stephen Hurd
Author: shurd Date: Thu Oct 5 14:43:30 2017 New Revision: 324318 URL: https://svnweb.freebsd.org/changeset/base/324318 Log: Fix "taskqgroup_attach: setaffinity failed: 3" with iflib drivers Improved logging added in r323879 exposed an error during attach. We need the irq, not the rid to

Re: svn commit: r323944 - in head/sys: kern sys

2017-09-25 Thread Stephen Hurd
Gleb Smirnoff wrote: Stephen, On Sat, Sep 23, 2017 at 01:39:16AM +, Stephen Hurd wrote: S> Author: shurd S> Date: Sat Sep 23 01:39:16 2017 S> New Revision: 323944 S> URL: https://svnweb.freebsd.org/changeset/base/323944 S> S> Log: S> Make struct grouptask gt_name

Re: svn commit: r323942 - head/sys/net

2017-09-25 Thread Stephen Hurd
Bjoern A. Zeeb wrote: On 23 Sep 2017, at 23:46, Stephen Hurd wrote: Bjoern A. Zeeb wrote: On 23 Sep 2017, at 6:32, Stephen Hurd wrote: Bjoern A. Zeeb wrote: On 23 Sep 2017, at 1:35, Stephen Hurd wrote: Author: shurd Date: Sat Sep 23 01:35:14 2017 New Revision: 323942 URL: https

Re: svn commit: r323942 - head/sys/net

2017-09-24 Thread Stephen Hurd
Stephen Hurd wrote: Hans Petter Selasky wrote: On 09/24/17 01:46, Stephen Hurd wrote: Basically, it changed from this: foreach (mbuf in rx) { if (lro && tcp_lro_rx(mbuf) == 0) continue; if_input(mbuf) } To this: prev_mbuf = first_mbuf = NULL; foreach (mbuf in rx) {

Re: svn commit: r323942 - head/sys/net

2017-09-24 Thread Stephen Hurd
Hans Petter Selasky wrote: On 09/24/17 01:46, Stephen Hurd wrote: Basically, it changed from this: foreach (mbuf in rx) { if (lro && tcp_lro_rx(mbuf) == 0) continue; if_input(mbuf) } To this: prev_mbuf = first_mbuf = NULL; foreach (mbuf in rx) { if (lro && tcp_l

Re: svn commit: r323942 - head/sys/net

2017-09-23 Thread Stephen Hurd
Bjoern A. Zeeb wrote: On 23 Sep 2017, at 6:32, Stephen Hurd wrote: Bjoern A. Zeeb wrote: On 23 Sep 2017, at 1:35, Stephen Hurd wrote: Author: shurd Date: Sat Sep 23 01:35:14 2017 New Revision: 323942 URL: https://svnweb.freebsd.org/changeset/base/323942 Log: Chain mbufs before passing

svn commit: r323955 - head/sys/dev/bnxt

2017-09-23 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 16:59:37 2017 New Revision: 323955 URL: https://svnweb.freebsd.org/changeset/base/323955 Log: bnxt: Choose better HW LRO defaults for performance 1) Choose correct Firmware options for HW LRO for best performance 2) Delete TBD and other comments which are

svn commit: r323954 - head/sys/net

2017-09-23 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 16:46:30 2017 New Revision: 323954 URL: https://svnweb.freebsd.org/changeset/base/323954 Log: Have ifmp_ring_enqueue() abdicate instead of switch to a consumer Move TX out of the enqueue() path. As a result, we need to have ifmp_ring_check_drainage() pick

Re: svn commit: r323942 - head/sys/net

2017-09-23 Thread Stephen Hurd
Bjoern A. Zeeb wrote: On 23 Sep 2017, at 1:35, Stephen Hurd wrote: Author: shurd Date: Sat Sep 23 01:35:14 2017 New Revision: 323942 URL: https://svnweb.freebsd.org/changeset/base/323942 Log: Chain mbufs before passing to if_input() Build a list of mbufs to pass to if_input() after LRO

svn commit: r323944 - in head/sys: kern sys

2017-09-22 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 01:39:16 2017 New Revision: 323944 URL: https://svnweb.freebsd.org/changeset/base/323944 Log: Make struct grouptask gt_name member a char array Previously, it was just a pointer which was copied, but some callers pass in a stack variable which will go out

svn commit: r323943 - head/sys/net

2017-09-22 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 01:37:01 2017 New Revision: 323943 URL: https://svnweb.freebsd.org/changeset/base/323943 Log: Make the rx budget a tunable This allows tuning the rx budget for special load profiles as well as more easily testing to determine sane defaults. Reviewed

svn commit: r323942 - head/sys/net

2017-09-22 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 01:35:14 2017 New Revision: 323942 URL: https://svnweb.freebsd.org/changeset/base/323942 Log: Chain mbufs before passing to if_input() Build a list of mbufs to pass to if_input() after LRO. Results in 12% small packet forwarding rate improvement.

svn commit: r323941 - in head/sys: dev/e1000 net

2017-09-22 Thread Stephen Hurd
Author: shurd Date: Sat Sep 23 01:33:20 2017 New Revision: 323941 URL: https://svnweb.freebsd.org/changeset/base/323941 Log: Some small packet performance improvements If the packet is smaller than MTU, disable the TSO flags. Move TCP header parsing inside the IS_TSO?() test. Add a new

svn commit: r323887 - head/sys/kern

2017-09-21 Thread Stephen Hurd
Author: shurd Date: Thu Sep 21 23:27:35 2017 New Revision: 323887 URL: https://svnweb.freebsd.org/changeset/base/323887 Log: Fix undeclared identifier error introduced in r323879 It doesn't appear to be safe to use gtask->gt_name. Reported by: Mark Johnston, Jenkins Reviewed by:

svn commit: r323879 - head/sys/kern

2017-09-21 Thread Stephen Hurd
Author: shurd Date: Thu Sep 21 21:14:48 2017 New Revision: 323879 URL: https://svnweb.freebsd.org/changeset/base/323879 Log: Improved logging of gtaskqueue failues Check the return code of intr_setaffinity() and log any errors it returns. When a qid is not located, log an error before

svn commit: r323876 - head/sys/kern

2017-09-21 Thread Stephen Hurd
Author: shurd Date: Thu Sep 21 20:34:33 2017 New Revision: 323876 URL: https://svnweb.freebsd.org/changeset/base/323876 Log: Fix M_GTASKQUEUE definition Previously had the same short and long description as taskqueues. This could cause problems with memguard(9) and vmstat -m which use

svn commit: r323874 - head/sys/dev/bnxt

2017-09-21 Thread Stephen Hurd
Author: shurd Date: Thu Sep 21 20:27:43 2017 New Revision: 323874 URL: https://svnweb.freebsd.org/changeset/base/323874 Log: bnxt: Fix driver when attached to a VF - Use HWRM_FUNC_VF_CFG instead of HWRM_FUNC_CFG on VFs - Fix NPAR/VF detection - Clean up flag definitions - Don't allow

svn commit: r323825 - head/sys/net

2017-09-20 Thread Stephen Hurd
Author: shurd Date: Wed Sep 20 20:40:49 2017 New Revision: 323825 URL: https://svnweb.freebsd.org/changeset/base/323825 Log: Fix iflib netmap RX RXQ setup for netmap was broken because netmap_rxq_init was getting called before IFDI_INIT - thus we ended up with ring tail pointer being

svn commit: r323635 - in head/sys: dev/bnxt dev/e1000 kern net sys

2017-09-15 Thread Stephen Hurd
Author: shurd Date: Sat Sep 16 02:41:38 2017 New Revision: 323635 URL: https://svnweb.freebsd.org/changeset/base/323635 Log: Revert r323516 (iflib rollup) This was really too big of a commit even if everything worked, but there are multiple new issues introduced in the one huge commit,

svn commit: r323517 - head/sys/dev/e1000

2017-09-12 Thread Stephen Hurd
Author: shurd Date: Wed Sep 13 02:44:50 2017 New Revision: 323517 URL: https://svnweb.freebsd.org/changeset/base/323517 Log: Fix GCC build failure caused by r323516 No need to declare cold when we #include Reported by: Jenkins Reviewed by: sbruno Approved by: sbruno (mentor)

  1   2   >