[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230111143427.1127174-1-jgh@redhat.com>
Date: Wed, 11 Jan 2023 14:34:20 +0000
From: jgh@...hat.com
To: netdev@...r.kernel.org
Cc: Jeremy Harris <jgh@...hat.com>
Subject: [RFC PATCH net-next 0/7] NIC driver Rx ring ECN
From: Jeremy Harris <jgh@...hat.com>
Routers and switches provide for mitigation of buffer overrun
by marking IP packets as "Congestion Experienced" [RFC 3168].
Participating transport protocols can use these marks to throttle
their send rates.
This patchset extends coverage to the receiving NIC/driver
buffers.
We use an out-of-band mechanism, marking the sk_buff rather
than the packet, to avoid need for DPI.
Participating NIC drivers are modified to add the marks.
Participating transport protocols are modified to notice
marks and combine with IP-level protocol marks.
Stats counters are incremented in ipv4 and ipv6 input processing,
with results:
$ nstat -sz *Congest*
#kernel
Ip6InCongestionPkts 0 0.0
IpExtInCongestionPkts 148454 0.0
$
Both NIC drivers and transports can be incrementatlly upgraded
to take advantage of the feature. Three example drivers are
modified in this patchset.
Jeremy Harris (7):
net: NIC driver Rx ring ECN: skbuff and tcp support
net: NIC driver Rx ring ECN: stats counter
drivers: net: xgene: NIC driver Rx ring ECN
drivers: net: bnx2x: NIC driver Rx ring ECN
drivers: net: bnx2x: NIC driver Rx ring ECN
drivers: net: bnx2: NIC driver Rx ring ECN
drivers: net: bnx2: NIC driver Rx ring ECN
drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 8 ++++++--
drivers/net/ethernet/broadcom/bnx2.c | 11 +++++++++--
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 12 +++++++++---
include/linux/skbuff.h | 2 ++
include/uapi/linux/snmp.h | 1 +
net/core/skbuff.c | 1 +
net/ipv4/ip_input.c | 4 ++++
net/ipv4/proc.c | 1 +
net/ipv4/tcp_input.c | 8 +++++++-
net/ipv6/ip6_input.c | 5 +++++
net/ipv6/proc.c | 1 +
11 files changed, 46 insertions(+), 8 deletions(-)
base-commit: 12c1604ae1a39bef87ac099f106594b4cb433b75
--
2.39.0
Powered by blists - more mailing lists