<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4978478a - vmxnet3: prepare for version 9 changes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#4978478a</link>
        <description>vmxnet3: prepare for version 9 changesvmxnet3 is currently at version 7 and this patch initiates thepreparation to accommodate changes for up to version 9. Introducedutility macros for vmxnet3 version 9 comparison and update Copyrightinformation.Signed-off-by: Ronak Doshi &lt;ronak.doshi@broadcom.com&gt;Acked-by: Guolin Yang &lt;guolin.yang@broadcom.com&gt;Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;Link: https://lore.kernel.org/r/20240531193050.4132-2-ronak.doshi@broadcom.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Fri, 31 May 2024 19:30:46 +0000</pubDate>
        <dc:creator>Ronak Doshi &lt;ronak.doshi@broadcom.com&gt;</dc:creator>
    </item>
<item>
        <title>54f00cce - vmxnet3: Add XDP support.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#54f00cce</link>
        <description>vmxnet3: Add XDP support.The patch adds native-mode XDP support: XDP DROP, PASS, TX, and REDIRECT.Background:The vmxnet3 rx consists of three rings: ring0, ring1, and dataring.For r0 and r1, buffers at r0 are allocated using alloc_skb APIs and dmamapped to the ring&apos;s descriptor. If LRO is enabled and packet size largerthan 3K, VMXNET3_MAX_SKB_BUF_SIZE, then r1 is used to mapped the rest ofthe buffer larger than VMXNET3_MAX_SKB_BUF_SIZE. Each buffer in r1 isallocated using alloc_page. So for LRO packets, the payload will be in onebuffer from r0 and multiple from r1, for non-LRO packets, only onedescriptor in r0 is used for packet size less than 3k.When receiving a packet, the first descriptor will have the sop (start ofpacket) bit set, and the last descriptor will have the eop (end of packet)bit set. Non-LRO packets will have only one descriptor with both sop andeop set.Other than r0 and r1, vmxnet3 dataring is specifically designed forhandling packets with small size, usually 128 bytes, defined inVMXNET3_DEF_RXDATA_DESC_SIZE, by simply copying the packet from the backenddriver in ESXi to the ring&apos;s memory region at front-end vmxnet3 driver, inorder to avoid memory mapping/unmapping overhead. In summary, packet size:    A. &lt; 128B: use dataring    B. 128B - 3K: use ring0 (VMXNET3_RX_BUF_SKB)    C. &gt; 3K: use ring0 and ring1 (VMXNET3_RX_BUF_SKB + VMXNET3_RX_BUF_PAGE)As a result, the patch adds XDP support for packets using dataringand r0 (case A and B), not the large packet size when LRO is enabled.XDP Implementation:When user loads and XDP prog, vmxnet3 driver checks configurations, suchas mtu, lro, and re-allocate the rx buffer size for reserving the extraheadroom, XDP_PACKET_HEADROOM, for XDP frame. The XDP prog will then beassociated with every rx queue of the device. Note that when using dataringfor small packet size, vmxnet3 (front-end driver) doesn&apos;t control thebuffer allocation, as a result we allocate a new page and copy packetfrom the dataring to XDP frame.The receive side of XDP is implemented for case A and B, by invoking thebpf program at vmxnet3_rq_rx_complete and handle its returned action.The vmxnet3_process_xdp(), vmxnet3_process_xdp_small() function handlesthe ring0 and dataring case separately, and decides the next journey ofthe packet afterward.For TX, vmxnet3 has split header design. Outgoing packets are parsedfirst and protocol headers (L2/L3/L4) are copied to the backend. Therest of the payload are dma mapped. Since XDP_TX does not parse thepacket protocol, the entire XDP frame is dma mapped for transmissionand transmitted in a batch. Later on, the frame is freed and recycledback to the memory pool.Performance:Tested using two VMs inside one ESXi vSphere 7.0 machine, using singlecore on each vmxnet3 device, sender using DPDK testpmd tx-mode attachedto vmxnet3 device, sending 64B or 512B UDP packet.VM1 txgen:$ dpdk-testpmd -l 0-3 -n 1 -- -i --nb-cores=3 \--forward-mode=txonly --eth-peer=0,&lt;mac addr of vm2&gt;option: add &quot;--txonly-multi-flow&quot;option: use --txpkts=512 or 64 byteVM2 running XDP:$ ./samples/bpf/xdp_rxq_info -d ens160 -a &lt;options&gt; --skb-mode$ ./samples/bpf/xdp_rxq_info -d ens160 -a &lt;options&gt;options: XDP_DROP, XDP_PASS, XDP_TXTo test REDIRECT to cpu 0, use$ ./samples/bpf/xdp_redirect_cpu -d ens160 -c 0 -e dropSingle core performance comparison with skb-mode.64B:      skb-mode -&gt; native-modeXDP_DROP: 1.6Mpps -&gt; 2.4MppsXDP_PASS: 338Kpps -&gt; 367KppsXDP_TX:   1.1Mpps -&gt; 2.3MppsREDIRECT-drop: 1.3Mpps -&gt; 2.3Mpps512B:     skb-mode -&gt; native-modeXDP_DROP: 863Kpps -&gt; 1.3MppsXDP_PASS: 275Kpps -&gt; 376KppsXDP_TX:   554Kpps -&gt; 1.2MppsREDIRECT-drop: 659Kpps -&gt; 1.2MppsDemo: https://youtu.be/4lm1CSCi78QFuture work:- XDP frag support- use napi_consume_skb() instead of dev_kfree_skb_any at unmap- stats using u64_stats_t- using bitfield macro BIT()- optimization for DMA synchronization using actual frame length,  instead of always max_lenSigned-off-by: William Tu &lt;u9012063@gmail.com&gt;Reviewed-by: Alexander Duyck &lt;alexanderduyck@fb.com&gt;Reviewed-by: Alexander Lobakin &lt;alexandr.lobakin@intel.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Thu, 10 Aug 2023 04:13:04 +0000</pubDate>
        <dc:creator>William Tu &lt;u9012063@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>55f0395f - vmxnet3: prepare for version 7 changes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#55f0395f</link>
        <description>vmxnet3: prepare for version 7 changesvmxnet3 is currently at version 6 and this patch initiates thepreparation to accommodate changes for upto version 7. Introducedutility macros for vmxnet3 version 7 comparison and update Copyrightinformation.Signed-off-by: Ronak Doshi &lt;doshir@vmware.com&gt;Acked-by: Guolin Yang &lt;gyang@vmware.com&gt;Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Wed, 08 Jun 2022 03:23:46 +0000</pubDate>
        <dc:creator>Ronak Doshi &lt;doshir@vmware.com&gt;</dc:creator>
    </item>
<item>
        <title>69dbef0d - vmxnet3: prepare for version 6 changes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#69dbef0d</link>
        <description>vmxnet3: prepare for version 6 changesvmxnet3 is currently at version 4 and this patch initiates thepreparation to accommodate changes for upto version 6. Introducedutility macros for vmxnet3 version 6 comparison and update Copyrightinformation.Signed-off-by: Ronak Doshi &lt;doshir@vmware.com&gt;Acked-by: Guolin Yang &lt;gyang@vmware.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Fri, 16 Jul 2021 22:36:20 +0000</pubDate>
        <dc:creator>Ronak Doshi &lt;doshir@vmware.com&gt;</dc:creator>
    </item>
<item>
        <title>123db31d - vmxnet3: prepare for version 4 changes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#123db31d</link>
        <description>vmxnet3: prepare for version 4 changesvmxnet3 is currently at version 3 and this patch initiates thepreparation to accommodate changes for version 4. Introduced utilitymacros for vmxnet3 version 4 comparison and update Copyrightinformation.Signed-off-by: Ronak Doshi &lt;doshir@vmware.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Thu, 28 May 2020 21:53:19 +0000</pubDate>
        <dc:creator>Ronak Doshi &lt;doshir@vmware.com&gt;</dc:creator>
    </item>
<item>
        <title>190af10f - vmxnet3: prepare for version 3 changes</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#190af10f</link>
        <description>vmxnet3: prepare for version 3 changesvmxnet3 is currently at version 2, but some command definitions fromprevious vmxnet3 versions are missing. Add those definitions beforemoving to version 3.Also, introduce utility macros for vmxnet3 version comparison and updateCopyright information and Maintained by.Signed-off-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Thu, 16 Jun 2016 17:51:53 +0000</pubDate>
        <dc:creator>Shrikrishna Khare &lt;skhare@vmware.com&gt;</dc:creator>
    </item>
<item>
        <title>d1a890fa - net: VMware virtual Ethernet NIC driver: vmxnet3</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/net/vmxnet3/Makefile#d1a890fa</link>
        <description>net: VMware virtual Ethernet NIC driver: vmxnet3Ethernet NIC driver for VMware&apos;s vmxnet3From: Shreyas Bhatewara &lt;sbhatewara@vmware.com&gt;This patch adds driver support for VMware&apos;s virtual Ethernet NIC: vmxnet3Guests running on VMware hypervisors supporting vmxnet3 device will thus haveaccess to improved network functionalities and performance.Signed-off-by: Shreyas Bhatewara &lt;sbhatewara@vmware.com&gt;Signed-off-by: Bhavesh Davda &lt;bhavesh@vmware.com&gt;Signed-off-by: Ronghua Zhang &lt;ronghua@vmware.com&gt;Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

            List of files:
            /linux-6.15/drivers/net/vmxnet3/Makefile</description>
        <pubDate>Tue, 13 Oct 2009 07:15:51 +0000</pubDate>
        <dc:creator>Shreyas Bhatewara &lt;sbhatewara@vmware.com&gt;</dc:creator>
    </item>
</channel>
</rss>
