Home
last modified time | relevance | path

Searched +full:tx +full:- +full:hw +full:- +full:gso +full:- +full:packets (Results 1 – 25 of 58) sorted by relevance

123

/linux/Documentation/netlink/specs/
H A Dnetdev.yaml1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
9 -
11 name: xdp-act
12 render-max: true
14 -
19 -
23 -
24 name: ndo-xmit
27 -
28 name: xsk-zerocopy
[all …]
H A Drt_link.yaml1 # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
3 name: rt-link
4 protocol: netlink-raw
11 -
12 name: ifinfo-flags
15 -
17 -
19 -
21 -
23 -
[all …]
/linux/include/linux/
H A Dnetdev_features.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
18 NETIF_F_HW_CSUM_BIT, /* Can checksum all the packets. */
22 NETIF_F_HW_VLAN_CTAG_TX_BIT, /* Transmit VLAN CTAG HW acceleration */
23 NETIF_F_HW_VLAN_CTAG_RX_BIT, /* Receive VLAN CTAG HW acceleration */
25 NETIF_F_VLAN_CHALLENGED_BIT, /* Device cannot handle VLAN packets */
26 NETIF_F_GSO_BIT, /* Enable software GSO. */
35 NETIF_F_GSO_ROBUST_BIT, /* ... ->SKB_GSO_DODGY */
46 NETIF_F_GSO_PARTIAL_BIT, /* ... Only segment inner-most L4
54 NETIF_F_GSO_UDP_L4_BIT, /* ... UDP payload GSO (not UFO) */
55 NETIF_F_GSO_FRAGLIST_BIT, /* ... Fraglist GSO */
[all …]
/linux/drivers/net/
H A Dxen-netfront.c4 * Copyright (c) 2002-2005, K A Fraser
81 #define NETFRONT_SKB_CB(skb) ((struct netfront_cb *)((skb)->cb))
88 /* Minimum number of Rx slots (includes slot for GSO metadata). */
91 /* Queue name is interface name with "-qNNN" appended */
94 /* IRQ name is queue name with "-tx" or "-rx" appended */
100 u64 packets; member
108 unsigned int id; /* Queue ID, 0-based */
109 char name[QUEUE_NAME_SIZE]; /* DEVNAME-qN */
122 char tx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-tx */
123 char rx_irq_name[IRQ_NAME_SIZE]; /* DEVNAME-qN-rx */
[all …]
H A Dvirtio_net.c1 // SPDX-License-Identifier: GPL-2.0-or-later
33 static bool csum = true, gso = true, napi_tx = true; variable
35 module_param(gso, bool, 0444);
50 * at once, the weight is chosen so that the EWMA will be insensitive to short-
82 u64 packets; member
91 u64_stats_t packets; member
103 u64_stats_t packets; member
113 #define VIRTNET_SQ_STAT(name, m) {name, offsetof(struct virtnet_sq_stats, m), -1}
114 #define VIRTNET_RQ_STAT(name, m) {name, offsetof(struct virtnet_rq_stats, m), -1}
147 VIRTNET_SQ_STAT_QSTAT("packets", packets),
[all …]
/linux/include/net/mana/
H A Dmana.h1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
14 * Structures labeled with "HW DATA" are exchanged with the hardware. All of
24 #define INVALID_MANA_HANDLE ((mana_handle_t)-1)
27 TRI_STATE_UNKNOWN = -1,
42 * allocation calculation. It allows maximum 2^(MAX_ORDER -1) pages. RX buffer
49 /* This max value for TX buffers is derived as the maximum allocatable
50 * pages supported on host per guest through testing. TX buffer size beyond
68 u64 packets; member
77 u64 packets; member
107 /* The SKBs are sent to the HW and we are waiting for the CQEs. */
[all …]
/linux/net/ipv4/
H A Dudp_offload.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * IPV4 GSO/GRO offload support
6 * UDPv4 GSO support
11 #include <net/gso.h>
22 int tnl_hlen = skb_inner_mac_header(skb) - skb_transport_header(skb); in __skb_udp_tunnel_segment()
24 struct sk_buff *segs = ERR_PTR(-EINVAL); in __skb_udp_tunnel_segment()
26 u16 mac_offset = skb->mac_header; in __skb_udp_tunnel_segment()
27 __be16 protocol = skb->protocol; in __skb_udp_tunnel_segment()
28 u16 mac_len = skb->mac_len; in __skb_udp_tunnel_segment()
37 * We cannot rely on the value contained in uh->len as it is in __skb_udp_tunnel_segment()
[all …]
/linux/Documentation/networking/device_drivers/ethernet/stmicro/
H A Dstmmac.rst1 .. SPDX-License-Identifier: GPL-2.0+
13 - In This Release
14 - Feature List
15 - Kernel Configuration
16 - Command Line Parameters
17 - Driver Information and Notes
18 - Debug Information
19 - Support
33 (and older) and DesignWare(R) Cores Ethernet Quality-of-Service version 4.0
35 DesignWare(R) Cores XGMAC - 10G Ethernet MAC and DesignWare(R) Cores
[all …]
/linux/drivers/infiniband/sw/siw/
H A Dsiw_main.c1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
4 /* Copyright (c) 2008-2019, IBM Corporation */
17 #include <linux/dma-mapping.h>
35 /* Restrict usage of GSO, if hardware peer iwarp is unable to process
36 * large packets. try_gso = true lets siw try to use local GSO,
37 * if peer agrees. Not using GSO severly limits siw maximum tx bandwidth.
66 struct ib_device *base_dev = &sdev->base_dev; in siw_device_register()
70 sdev->vendor_part_id = dev_id++; in siw_device_register()
78 siw_dbg(base_dev, "HWaddr=%pM\n", sdev->raw_gid); in siw_device_register()
86 xa_destroy(&sdev->qp_xa); in siw_device_cleanup()
[all …]
/linux/drivers/net/ethernet/intel/i40e/
H A Di40e_txrx.h1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 2013 - 2018 Intel Corporation. */
33 * the value of the rate limit is non-zero
40 * i40e_intrl_usec_to_reg - convert interrupt rate limit to register
96 (test_bit(I40E_HW_CAP_MULTI_TCP_UDP_RSS_PCTYPE, (pf)->hw.caps) ? \
110 * i.e. RXBUFFER_256 --> 960 byte skb (size-1024 slab)
111 * i.e. RXBUFFER_512 --> 1216 byte skb (size-2048 slab)
139 pad_size = SKB_WITH_OVERHEAD(page_size) - rx_buf_len; in i40e_compute_pad()
153 * cache-line alignment. in i40e_skb_pad()
161 rx_buf_len -= NET_IP_ALIGN; in i40e_skb_pad()
[all …]
H A Di40e_txrx.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2013 - 2018 Intel Corporation. */
16 * i40e_fdir - Generate a Flow Director descriptor based on fdata
17 * @tx_ring: Tx ring to send buffer on
26 struct i40e_pf *pf = tx_ring->vsi->back; in i40e_fdir()
31 i = tx_ring->next_to_use; in i40e_fdir()
35 tx_ring->next_to_use = (i < tx_ring->count) ? i : 0; in i40e_fdir()
37 flex_ptype = FIELD_PREP(I40E_TXD_FLTR_QW0_QINDEX_MASK, fdata->q_index); in i40e_fdir()
40 fdata->flex_off); in i40e_fdir()
42 flex_ptype |= FIELD_PREP(I40E_TXD_FLTR_QW0_PCTYPE_MASK, fdata->pctype); in i40e_fdir()
[all …]
/linux/drivers/net/ethernet/mediatek/
H A Dmtk_eth_soc.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (C) 2009-2016 John Crispin <blogic@openwrt.org>
5 * Copyright (C) 2009-2016 Felix Fietkau <nbd@openwrt.org>
6 * Copyright (C) 2013-2016 Michael Lee <igvtee@gmail.com>
24 #include <linux/pcs/pcs-mtk-lynxi.h>
34 static int mtk_msg_level = -1;
36 MODULE_PARM_DESC(msg_level, "Message level (-1=defaults,0=none,...,16=all)");
294 __raw_writel(val, eth->base + reg); in mtk_w32()
299 return __raw_readl(eth->base + reg); in mtk_r32()
325 dev_err(eth->dev, "mdio: MDIO timeout\n"); in mtk_mdio_busy_wait()
[all …]
/linux/drivers/net/ethernet/intel/iavf/
H A Diavf_txrx.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2013 - 2018 Intel Corporation. */
25 * iavf_unmap_and_free_tx_resource - Release a Tx buffer
32 if (tx_buffer->skb) { in iavf_unmap_and_free_tx_resource()
33 if (tx_buffer->tx_flags & IAVF_TX_FLAGS_FD_SB) in iavf_unmap_and_free_tx_resource()
34 kfree(tx_buffer->raw_buf); in iavf_unmap_and_free_tx_resource()
36 dev_kfree_skb_any(tx_buffer->skb); in iavf_unmap_and_free_tx_resource()
38 dma_unmap_single(ring->dev, in iavf_unmap_and_free_tx_resource()
43 dma_unmap_page(ring->dev, in iavf_unmap_and_free_tx_resource()
49 tx_buffer->next_to_watch = NULL; in iavf_unmap_and_free_tx_resource()
[all …]
/linux/drivers/net/ethernet/synopsys/
H A Ddwc-xlgmac.h5 * This program is dual-licensed; you may select either version 2 of
21 #include <linux/dma-mapping.h>
29 #define XLGMAC_DRV_NAME "dwc-xlgmac"
40 /* Descriptors required for maximum contiguous TSO/GSO packet */
47 #define XLGMAC_TX_MAX_BUF_SIZE (0x3fff & ~(64 - 1))
97 ((_ring)->desc_data_head + \
98 ((idx) & ((_ring)->dma_desc_count - 1))); \
104 ((var) & GENMASK(_pos + _len - 1, _pos)) >> (_pos); \
111 ((_var) & GENMASK(_pos + _len - 1, _pos)) >> (_pos); \
119 _val = (_val << _pos) & GENMASK(_pos + _len - 1, _pos); \
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_ipsec.c1 // SPDX-License-Identifier: GPL-2.0
15 * ixgbe_ipsec_set_tx_sa - set the Tx SA registers
16 * @hw: hw specific details
21 static void ixgbe_ipsec_set_tx_sa(struct ixgbe_hw *hw, u16 idx, in ixgbe_ipsec_set_tx_sa() argument
28 IXGBE_WRITE_REG(hw, IXGBE_IPSTXKEY(i), in ixgbe_ipsec_set_tx_sa()
29 (__force u32)cpu_to_be32(key[3 - i])); in ixgbe_ipsec_set_tx_sa()
30 IXGBE_WRITE_REG(hw, IXGBE_IPSTXSALT, (__force u32)cpu_to_be32(salt)); in ixgbe_ipsec_set_tx_sa()
31 IXGBE_WRITE_FLUSH(hw); in ixgbe_ipsec_set_tx_sa()
33 reg = IXGBE_READ_REG(hw, IXGBE_IPSTXIDX); in ixgbe_ipsec_set_tx_sa()
36 IXGBE_WRITE_REG(hw, IXGBE_IPSTXIDX, reg); in ixgbe_ipsec_set_tx_sa()
[all …]
/linux/drivers/net/ethernet/google/gve/
H A Dgve_tx_dqo.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
4 * Copyright (C) 2015-2021 Google, Inc.
17 static bool gve_has_free_tx_qpl_bufs(struct gve_tx_ring *tx, int count) in gve_has_free_tx_qpl_bufs() argument
21 if (!tx->dqo.qpl) in gve_has_free_tx_qpl_bufs()
24 num_avail = tx->dqo.num_tx_qpl_bufs - in gve_has_free_tx_qpl_bufs()
25 (tx->dqo_tx.alloc_tx_qpl_buf_cnt - in gve_has_free_tx_qpl_bufs()
26 tx->dqo_tx.free_tx_qpl_buf_cnt); in gve_has_free_tx_qpl_bufs()
32 tx->dqo_tx.free_tx_qpl_buf_cnt = in gve_has_free_tx_qpl_bufs()
33 atomic_read_acquire(&tx->dqo_compl.free_tx_qpl_buf_cnt); in gve_has_free_tx_qpl_bufs()
35 num_avail = tx->dqo.num_tx_qpl_bufs - in gve_has_free_tx_qpl_bufs()
[all …]
/linux/Documentation/networking/
H A Dtimestamping.rst1 .. SPDX-License-Identifier: GPL-2.0
43 -------------------------------------------------------------
47 the network stack, the feature has to be enabled for all packets. The
59 -------------------------------------------------------------------
72 ----------------------------------------------------------------------
93 created packets, not to packets already in the stack. As a result, it
94 is possible to selectively request timestamps for a subset of packets
110 Request tx timestamps generated by the network adapter. This flag
114 Request tx timestamps when data leaves the kernel. These timestamps
121 Request tx timestamps prior to entering the packet scheduler. Kernel
[all …]
/linux/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_main.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2013 - 2019 Intel Corporation. */
18 "Copyright(c) 2013 - 2019 Intel Corporation.";
27 * fm10k_init_module - Driver Registration Routine
43 return -ENOMEM; in fm10k_init_module()
58 * fm10k_exit_module - Driver Exit Cleanup Routine
77 struct page *page = bi->page; in fm10k_alloc_mapped_page()
87 rx_ring->rx_stats.alloc_failed++; in fm10k_alloc_mapped_page()
92 dma = dma_map_page(rx_ring->dev, page, 0, PAGE_SIZE, DMA_FROM_DEVICE); in fm10k_alloc_mapped_page()
97 if (dma_mapping_error(rx_ring->dev, dma)) { in fm10k_alloc_mapped_page()
[all …]
/linux/drivers/net/ethernet/tehuti/
H A Dtehuti.c1 // SPDX-License-Identifier: GPL-2.0-or-later
9 * RX HW/SW interaction overview
12 * 1) RX Free Fifo - RXF - holds descriptors of empty buffers to accept incoming
13 * traffic. This Fifo is filled by SW and is readen by HW. Each descriptor holds
16 * 2) RX Data Fifo - RXD - holds descriptors of full buffers. This Fifo is
17 * filled by HW and is readen by SW. Each descriptor holds status and ID.
18 * HW pops descriptor from RXF Fifo, stores ID, fills buffer with incoming data,
23 * One holds 1.5K packets and another - 26K packets. Depending on incoming
24 * packet size, HW desides on a RXF Fifo to pop buffer from. When packet is
25 * filled with data, HW builds new RXD descriptor for it and push it into single
[all …]
H A Dtn40.c1 // SPDX-License-Identifier: GPL-2.0+
23 tn40_write_reg(priv, TN40_REG_IMR, priv->isr_mask); in tn40_enable_interrupts()
43 f->va = dma_alloc_coherent(&priv->pdev->dev, in tn40_fifo_alloc()
44 memsz + TN40_FIFO_EXTRA_SPACE, &f->da, in tn40_fifo_alloc()
46 if (!f->va) in tn40_fifo_alloc()
47 return -ENOMEM; in tn40_fifo_alloc()
49 f->reg_cfg0 = reg_cfg0; in tn40_fifo_alloc()
50 f->reg_cfg1 = reg_cfg1; in tn40_fifo_alloc()
51 f->reg_rptr = reg_rptr; in tn40_fifo_alloc()
52 f->reg_wptr = reg_wptr; in tn40_fifo_alloc()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_tx.c14 * - Redistributions of source code must retain the above
18 * - Redistributions in binary form must reproduce the above
54 struct mlx4_en_dev *mdev = priv->mdev; in mlx4_en_create_tx_ring()
61 en_err(priv, "Failed allocating TX ring\n"); in mlx4_en_create_tx_ring()
62 return -ENOMEM; in mlx4_en_create_tx_ring()
65 ring->size = size; in mlx4_en_create_tx_ring()
66 ring->size_mask = size - 1; in mlx4_en_create_tx_ring()
67 ring->sp_stride = stride; in mlx4_en_create_tx_ring()
68 ring->full_size = ring->size - HEADROOM - MLX4_MAX_DESC_TXBBS; in mlx4_en_create_tx_ring()
71 ring->tx_info = kvmalloc_node(tmp, GFP_KERNEL, node); in mlx4_en_create_tx_ring()
[all …]
/linux/include/uapi/linux/
H A Dethtool.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
26 * have the same layout for 32-bit and 64-bit userland.
38 * struct ethtool_cmd - DEPRECATED, link control and status
43 * interface supports autonegotiation or auto-detection.
44 * Read-only.
48 * auto-detection.
56 * @autoneg: Enable/disable autonegotiation and auto-detection;
60 * Read-only.
61 * @maxtxpkt: Historically used to report TX IRQ coalescing; now
62 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
[all …]
/linux/drivers/net/ethernet/intel/igc/
H A Digc_main.c1 // SPDX-License-Identifier: GPL-2.0
33 static int debug = -1;
81 struct net_device *dev = adapter->netdev; in igc_reset()
82 struct igc_hw *hw = &adapter->hw; in igc_reset() local
83 struct igc_fc_info *fc = &hw->fc; in igc_reset()
95 * - the full Rx FIFO size minus one full Tx plus one full Rx frame in igc_reset()
97 hwm = (pba << 10) - (adapter->max_frame_size + MAX_JUMBO_FRAME_SIZE); in igc_reset()
99 fc->high_water = hwm & 0xFFFFFFF0; /* 16-byte granularity */ in igc_reset()
100 fc->low_water = fc->high_water - 16; in igc_reset()
101 fc->pause_time = 0xFFFF; in igc_reset()
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_txrx.c1 // SPDX-License-Identifier: GPL-2.0
27 * ice_prgm_fdir_fltr - Program a Flow Director filter
45 /* VSI and Tx ring */ in ice_prgm_fdir_fltr()
47 return -ENOENT; in ice_prgm_fdir_fltr()
48 tx_ring = vsi->tx_rings[0]; in ice_prgm_fdir_fltr()
49 if (!tx_ring || !tx_ring->desc) in ice_prgm_fdir_fltr()
50 return -ENOENT; in ice_prgm_fdir_fltr()
51 dev = tx_ring->dev; in ice_prgm_fdir_fltr()
54 for (i = ICE_FDIR_CLEAN_DELAY; ICE_DESC_UNUSED(tx_ring) < 2; i--) { in ice_prgm_fdir_fltr()
56 return -EAGAIN; in ice_prgm_fdir_fltr()
[all …]
/linux/drivers/net/ethernet/intel/ixgbevf/
H A Dixgbevf_main.c1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2018 Intel Corporation. */
5 Copyright (c)2006 - 2007 Myricom, Inc. for some LRO specific code
42 "Copyright (c) 2009 - 2018 Intel Corporation.";
56 /* ixgbevf_pci_tbl - PCI Device ID Table
83 static int debug = -1;
91 if (!test_bit(__IXGBEVF_DOWN, &adapter->state) && in ixgbevf_service_event_schedule()
92 !test_bit(__IXGBEVF_REMOVING, &adapter->state) && in ixgbevf_service_event_schedule()
93 !test_and_set_bit(__IXGBEVF_SERVICE_SCHED, &adapter->state)) in ixgbevf_service_event_schedule()
94 queue_work(ixgbevf_wq, &adapter->service_task); in ixgbevf_service_event_schedule()
[all …]

123