Skip to content

Commit 7189c96

Browse files
committed
tgupdate: merge t/DO-NOT-MERGE-mptcp-enabled-by-default into t/upstream base
2 parents 7de7a3d + a375776 commit 7189c96

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2711
-589
lines changed

Documentation/networking/netconsole.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ Release prepend support by Breno Leitao <[email protected]>, Jul 7 2023
1717

1818
Userdata append support by Matthew Wood <[email protected]>, Jan 22 2024
1919

20+
Sysdata append support by Breno Leitao <[email protected]>, Jan 15 2025
21+
2022
Please send bug reports to Matt Mackall <[email protected]>
2123
Satyam Sharma <[email protected]>, and Cong Wang <[email protected]>
2224

@@ -238,6 +240,49 @@ Delete `userdata` entries with `rmdir`::
238240

239241
It is recommended to not write user data values with newlines.
240242

243+
CPU number auto population in userdata
244+
--------------------------------------
245+
246+
Inside the netconsole configfs hierarchy, there is a file called
247+
`cpu_nr` under the `userdata` directory. This file is used to enable or disable
248+
the automatic CPU number population feature. This feature automatically
249+
populates the CPU number that is sending the message.
250+
251+
To enable the CPU number auto-population::
252+
253+
echo 1 > /sys/kernel/config/netconsole/target1/userdata/cpu_nr
254+
255+
When this option is enabled, the netconsole messages will include an additional
256+
line in the userdata field with the format `cpu=<cpu_number>`. This allows the
257+
receiver of the netconsole messages to easily differentiate and demultiplex
258+
messages originating from different CPUs, which is particularly useful when
259+
dealing with parallel log output.
260+
261+
Example::
262+
263+
echo "This is a message" > /dev/kmsg
264+
12,607,22085407756,-;This is a message
265+
cpu=42
266+
267+
In this example, the message was sent by CPU 42.
268+
269+
.. note::
270+
271+
If the user has set a conflicting `cpu` key in the userdata dictionary,
272+
both keys will be reported, with the kernel-populated entry appearing after
273+
the user one. For example::
274+
275+
# User-defined CPU entry
276+
mkdir -p /sys/kernel/config/netconsole/target1/userdata/cpu
277+
echo "1" > /sys/kernel/config/netconsole/target1/userdata/cpu/value
278+
279+
Output might look like::
280+
281+
12,607,22085407756,-;This is a message
282+
cpu=1
283+
cpu=42 # kernel-populated value
284+
285+
241286
Extended console:
242287
=================
243288

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24152,7 +24152,7 @@ W: http://vtun.sourceforge.net/tun
2415224152
F: Documentation/networking/tuntap.rst
2415324153
F: arch/um/os-Linux/drivers/
2415424154
F: drivers/net/tap.c
24155-
F: drivers/net/tun.c
24155+
F: drivers/net/tun*
2415624156

2415724157
TURBOCHANNEL SUBSYSTEM
2415824158
M: "Maciej W. Rozycki" <[email protected]>

drivers/net/ethernet/intel/i40e/i40e_xsk.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* Copyright(c) 2018 Intel Corporation. */
33

44
#include <linux/bpf_trace.h>
5+
#include <linux/unroll.h>
56
#include <net/xdp_sock_drv.h>
67
#include "i40e_txrx_common.h"
78
#include "i40e_xsk.h"
@@ -529,7 +530,8 @@ static void i40e_xmit_pkt_batch(struct i40e_ring *xdp_ring, struct xdp_desc *des
529530
dma_addr_t dma;
530531
u32 i;
531532

532-
loop_unrolled_for(i = 0; i < PKTS_PER_BATCH; i++) {
533+
unrolled_count(PKTS_PER_BATCH)
534+
for (i = 0; i < PKTS_PER_BATCH; i++) {
533535
u32 cmd = I40E_TX_DESC_CMD_ICRC | xsk_is_eop_desc(&desc[i]);
534536

535537
dma = xsk_buff_raw_get_dma(xdp_ring->xsk_pool, desc[i].addr);

drivers/net/ethernet/intel/i40e/i40e_xsk.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,14 @@
66

77
#include <linux/types.h>
88

9-
/* This value should match the pragma in the loop_unrolled_for
9+
/* This value should match the pragma in the unrolled_count()
1010
* macro. Why 4? It is strictly empirical. It seems to be a good
1111
* compromise between the advantage of having simultaneous outstanding
1212
* reads to the DMA array that can hide each others latency and the
1313
* disadvantage of having a larger code path.
1414
*/
1515
#define PKTS_PER_BATCH 4
1616

17-
#ifdef __clang__
18-
#define loop_unrolled_for _Pragma("clang loop unroll_count(4)") for
19-
#elif __GNUC__ >= 8
20-
#define loop_unrolled_for _Pragma("GCC unroll 4") for
21-
#else
22-
#define loop_unrolled_for for
23-
#endif
24-
2517
struct i40e_ring;
2618
struct i40e_vsi;
2719
struct net_device;

drivers/net/ethernet/intel/ice/ice_xsk.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
/* Copyright (c) 2019, Intel Corporation. */
33

44
#include <linux/bpf_trace.h>
5+
#include <linux/unroll.h>
56
#include <net/xdp_sock_drv.h>
67
#include <net/xdp.h>
78
#include "ice.h"
@@ -989,7 +990,8 @@ static void ice_xmit_pkt_batch(struct ice_tx_ring *xdp_ring,
989990
struct ice_tx_desc *tx_desc;
990991
u32 i;
991992

992-
loop_unrolled_for(i = 0; i < PKTS_PER_BATCH; i++) {
993+
unrolled_count(PKTS_PER_BATCH)
994+
for (i = 0; i < PKTS_PER_BATCH; i++) {
993995
dma_addr_t dma;
994996

995997
dma = xsk_buff_raw_get_dma(xsk_pool, descs[i].addr);

drivers/net/ethernet/intel/ice/ice_xsk.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,6 @@
77

88
#define PKTS_PER_BATCH 8
99

10-
#ifdef __clang__
11-
#define loop_unrolled_for _Pragma("clang loop unroll_count(8)") for
12-
#elif __GNUC__ >= 8
13-
#define loop_unrolled_for _Pragma("GCC unroll 8") for
14-
#else
15-
#define loop_unrolled_for for
16-
#endif
17-
1810
struct ice_vsi;
1911

2012
#ifdef CONFIG_XDP_SOCKETS

drivers/net/ethernet/mellanox/mlxsw/pci.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2214,6 +2214,8 @@ static int mlxsw_pci_skb_transmit(void *bus_priv, struct sk_buff *skb,
22142214
for (i++; i < MLXSW_PCI_WQE_SG_ENTRIES; i++)
22152215
mlxsw_pci_wqe_byte_count_set(wqe, i, 0);
22162216

2217+
mlxsw_pci_wqe_ipcs_set(wqe, skb->ip_summed == CHECKSUM_PARTIAL);
2218+
22172219
/* Everything is set up, ring producer doorbell to get HW going */
22182220
q->producer_counter++;
22192221
mlxsw_pci_queue_doorbell_producer_ring(mlxsw_pci, q);

drivers/net/ethernet/mellanox/mlxsw/pci_hw.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ MLXSW_ITEM32(pci, wqe, lp, 0x00, 30, 1);
9090
*/
9191
MLXSW_ITEM32(pci, wqe, type, 0x00, 23, 4);
9292

93+
/* pci_wqe_ipcs
94+
* Calculate IPv4 and TCP / UDP checksums.
95+
*/
96+
MLXSW_ITEM32(pci, wqe, ipcs, 0x00, 14, 1);
97+
9398
/* pci_wqe_byte_count
9499
* Size of i-th scatter/gather entry, 0 if entry is unused.
95100
*/

drivers/net/ethernet/mellanox/mlxsw/spectrum.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1574,8 +1574,10 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u16 local_port,
15741574
netif_carrier_off(dev);
15751575

15761576
dev->features |= NETIF_F_SG | NETIF_F_HW_VLAN_CTAG_FILTER |
1577-
NETIF_F_HW_TC;
1578-
dev->hw_features |= NETIF_F_HW_TC | NETIF_F_LOOPBACK;
1577+
NETIF_F_HW_TC | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
1578+
dev->hw_features |= NETIF_F_HW_TC | NETIF_F_LOOPBACK |
1579+
NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
1580+
dev->vlan_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
15791581
dev->lltx = true;
15801582
dev->netns_local = true;
15811583

drivers/net/ethernet/meta/fbnic/fbnic.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ struct fbnic_dev {
6060
u8 mac_addr_boundary;
6161
u8 tce_tcam_last;
6262

63+
/* IP TCAM */
64+
struct fbnic_ip_addr ip_src[FBNIC_RPC_TCAM_IP_ADDR_NUM_ENTRIES];
65+
struct fbnic_ip_addr ip_dst[FBNIC_RPC_TCAM_IP_ADDR_NUM_ENTRIES];
66+
struct fbnic_ip_addr ipo_src[FBNIC_RPC_TCAM_IP_ADDR_NUM_ENTRIES];
67+
struct fbnic_ip_addr ipo_dst[FBNIC_RPC_TCAM_IP_ADDR_NUM_ENTRIES];
68+
6369
/* Number of TCQs/RCQs available on hardware */
6470
u16 max_num_queues;
6571

0 commit comments

Comments
 (0)