<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in em_txrx.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>efcc0423d80e4048e11e997abc46bd0343537e1b - em: remove M_HASHTYPE when RSS is not enabled</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#efcc0423d80e4048e11e997abc46bd0343537e1b</link>
        <description>em: remove M_HASHTYPE when RSS is not enabledSummary:Since &quot;73fe85e486d2 tcp: store flowid info in syncache&quot;, inp_flowid can be setif the incoming packet is not M_HASHTYPE_NONE. But this can introduce dummyand duplicated flowid when a virtual interface set M_HASHTYPE_OPAQUE. Thischange will let the upper layer know how to deal with software hash, withbenefits like inp_flowid can be set correctly and m_pkthdr.flowid can be setcorrectly in output path.This fix is similar to &quot;20285cad7a55&quot;Reviewed by: kbowlingDifferential Revision: https://reviews.freebsd.org/D55137

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Thu, 05 Feb 2026 22:12:15 +0100</pubDate>
        <dc:creator>Cheng Cui &lt;cc@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e07b4a2e9bc4f6b2e129f3a101dfce2027694bd3 - e1000: use newly exposed RSS hash key API rather than ad-hoc hashing</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#e07b4a2e9bc4f6b2e129f3a101dfce2027694bd3</link>
        <description>e1000: use newly exposed RSS hash key API rather than ad-hoc hashingDifferential Revision:	https://reviews.freebsd.org/D53097Reviewed by: kbowlingSponsored by: Netflix

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sat, 22 Nov 2025 15:29:33 +0100</pubDate>
        <dc:creator>Andrew Gallatin &lt;gallatin@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4b29599fbbe33b75b7b58cfc5deea7a881e9a10e - e1000: Fix vlan PCP/DEI on lem(4)</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#4b29599fbbe33b75b7b58cfc5deea7a881e9a10e</link>
        <description>e1000: Fix vlan PCP/DEI on lem(4)The vlan PCP and CFI/DEI were discarded when receiving vlan taggedpackets on lem(4) interfaces with vlanhwtag.According to the 82540 SDM[1] (pg. 24), vlan tag is in the standardformat, so there&apos;s no reason to discard PCP/DEI.[1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/pci-pci-x-family-gbe-controllers-software-dev-manual.pdfMFC after:	3 daysSponsored by:	Stormshield (author)Differential Revision:	https://reviews.freebsd.org/D48987

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Thu, 13 Feb 2025 19:08:42 +0100</pubDate>
        <dc:creator>Aurelien Cazuc &lt;aurelien.cazuc.external@stormshield.eu&gt;</dc:creator>
    </item>
<item>
        <title>7390daf87c53073da5e74b2d73ac7320c1a44475 - e1000: Style txrx</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#7390daf87c53073da5e74b2d73ac7320c1a44475</link>
        <description>e1000: Style txrxFix up indentation and reflow long lines.MFC after:	3 daysSponsored by:	BBOX.io

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sun, 24 Nov 2024 08:39:43 +0100</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>9dc452b983f042aa9d2a2562517d44c1928ff42a - e1000: txrx function prototype cleanup</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#9dc452b983f042aa9d2a2562517d44c1928ff42a</link>
        <description>e1000: txrx function prototype cleanupDrop variable names of function prototypes since the file is mixed inlisting them or not and they fall out of sync.MFC after:	1 weekSponsored by:	BBOX.io

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Mon, 14 Oct 2024 18:07:29 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3e501ef896671cb190e8c40c6258b8f27d136f07 - e1000: Re-add AIM</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#3e501ef896671cb190e8c40c6258b8f27d136f07</link>
        <description>e1000: Re-add AIMWe originally left this out because iflib modulates interrupts andaccomplishes some level of batching versus the custom queues in theolder driver. Upon more detailed study of the Linux driver which has anewer implementation, it finally became clear to me this is actually aholdoff timer and not an interrupt limit as it is conventionally(statically) programmed and displayed as an interrupt rate. The datasheets also make this somewhat clear.Thus, AIM accomplishes two beneficial things for a wide variety ofworkloads[1]:1. At low throughput/packet rates, it will significantly lower latency(by counter-intuitively &quot;increasing&quot; the interrupt rate.. betterthought of as decreasing the holdoff timer because you will modulatedown before coming anywhere near these interrupt rates).2. At bulk data rates, it is tuned to achieve a lower interrupt rate(by increasing the holdoff timer) than the current static 8000/s. Thisdecreases processing overhead and yields more headroom for other worksuch as packet filters or userland.For a single NIC this might be worth a few sys% on common CPUs, but maybe meaningful when multiplied such as if_lagg, if_bridge and forwardingsetups.The AIM algorithm was re-introduced from the older igb or out of treedriver, and then modernized with permission to use Intel code from otherdrivers.I have retroactively added it to lem(4) and em(4) where the same conceptapplies, albeit to a single ITR register.[1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/gbe-controllers-interrupt-moderation-appl-note.pdfTested by:	cc (https://wiki.freebsd.org/chengcui/testD46768)MFC after:	1 weekRelnotes:	yesSponsored by:	Rubicon Communications, LLC (&quot;Netgate&quot;)Sponsored by:	BBOX.ioDifferential Revision:	https://reviews.freebsd.org/D46768

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sun, 22 Sep 2024 11:26:05 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>71625ec9ad2a9bc8c09784fbd23b759830e0ee5f - sys: Remove $FreeBSD$: one-line .c comment pattern</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#71625ec9ad2a9bc8c09784fbd23b759830e0ee5f</link>
        <description>sys: Remove $FreeBSD$: one-line .c comment patternRemove /^/[*/]\s*\$FreeBSD\$.*\n/

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Wed, 16 Aug 2023 19:54:24 +0200</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>eac761e967b34066aa7183474249df87d79a2f32 - e1000: Fix off by one ipcse</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#eac761e967b34066aa7183474249df87d79a2f32</link>
        <description>e1000: Fix off by one ipcseThis has been off by one in the FreeBSD drivers as far back as I&apos;velooked.  Emperically HW and SW emulations I have available don&apos;t seem tomind.  Noticed while debugging other issues.MFC after:	3 days

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Tue, 15 Aug 2023 23:37:43 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e1353dcb63bbdb33be6a907ed6236c120518129e - e1000: Fix lem(4)/em(4) TSO6</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#e1353dcb63bbdb33be6a907ed6236c120518129e</link>
        <description>e1000: Fix lem(4)/em(4) TSO6* Fix TSO6 by specializing IP checksum insertion and following Intel SDM  values for IPv6.* Remove unnecessary 82544 IP-bit handling* Remove TSO6 from lem(4) capabilititiesReviewed by:	erj (earlier version)MFC after:	1 weekDifferential Revision:	https://reviews.freebsd.org/D41170

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Mon, 31 Jul 2023 17:16:24 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>cbcab907f8ad1a4ac38dbc574c747ac2901faa54 - e1000: Corrections for lem(4)/em(4) txcsum offload</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#cbcab907f8ad1a4ac38dbc574c747ac2901faa54</link>
        <description>e1000: Corrections for lem(4)/em(4) txcsum offloadExplicitly set ipcss/ipcse/ipcso for IPv6 per intel SDM as indicated ininline comments.Fix and consolidate 82543/82547 hwcsum exemption.While here rearrange and expand some commentary.

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Fri, 28 Jul 2023 00:50:32 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>92fd2f39e5b1fd588fdc49a07d626273eb8f7539 - e1000: add missing parens in csum setup</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#92fd2f39e5b1fd588fdc49a07d626273eb8f7539</link>
        <description>e1000: add missing parens in csum setupReported by:	rscheffFixes:	4f9a44a215f8 e1000: Fix/enable IPv6 transmit checksum offloadMFC after:	2 weeks

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sun, 23 Jul 2023 02:03:26 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4f9a44a215f873c6842a693f2e81e0abbe1531cf - e1000: Fix/enable IPv6 transmit checksum offload</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#4f9a44a215f873c6842a693f2e81e0abbe1531cf</link>
        <description>e1000: Fix/enable IPv6 transmit checksum offloadFixes and enables txcsum6 offload for lem(4) and em(4).MFC after:	2 weeks

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sun, 23 Jul 2023 00:58:34 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>918c25677d882a901696672bd4d39b62faa56dfa - e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#918c25677d882a901696672bd4d39b62faa56dfa</link>
        <description>e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes* em(4) obey administrative ifcaps for using hwcsum offload* em(4) obey administrative ifcaps for hw vlan receive tagging* em(4) add additional TSO6 ifcap, but disabled by default as is TSO4* lem(4) obey administrative ifcaps for using hwcsum offload* lem(4) add support for hw vlan receive tagging* lem(4) Add ifcaps for TSO offload experimentation, but disabled by  default due to errata and possibly missing txrx code.* lem(4) disable HWCSUM ifcaps by default on 82547 due to errata around  full duplex links.  It may still be administratively enabled.Reviewed by:	markj (previous version)MFC after:	2 weeksDifferential Revision:	https://reviews.freebsd.org/D30072

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sat, 22 Jul 2023 20:33:27 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5d3c982549278c72d59debae7227366453d3c4a8 - Revert &quot;e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes&quot;</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#5d3c982549278c72d59debae7227366453d3c4a8</link>
        <description>Revert &quot;e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes&quot;Seems to cause a panic when booting under VitrualBox.Reported by:	yasuThis reverts commit 95f7b36e8fac45092b9a4eea5e32732e979989f0.

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Sat, 22 Jul 2023 06:42:23 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>95f7b36e8fac45092b9a4eea5e32732e979989f0 - e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#95f7b36e8fac45092b9a4eea5e32732e979989f0</link>
        <description>e1000: lem(4)/em(4) ifcaps, TSO and hwcsum fixes* em(4) obey administrative ifcaps for using hwcsum offload* em(4) obey administrative ifcaps for hw vlan receive tagging* em(4) add additional TSO6 ifcap, but disabled by default as is TSO4* lem(4) obey administrative ifcaps for using hwcsum offload* lem(4) add support for hw vlan receive tagging* lem(4) Add ifcaps for TSO offload experimentation, but disabled by  default due to errata and possibly missing txrx code.* lem(4) disable HWCSUM ifcaps by default on 82547 due to errata around  full duplex links.  It may still be administratively enabled.Reviewed by:	markj (previous version)MFC after:	2 weeksDifferential Revision:	https://reviews.freebsd.org/D30072

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Fri, 21 Jul 2023 05:30:00 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>201c4b7c29da44500ccb9e47b854dc1207df8b0a - e1000: Some fixes for em(4) TSO setup</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#201c4b7c29da44500ccb9e47b854dc1207df8b0a</link>
        <description>e1000: Some fixes for em(4) TSO setupAlways set TXD_CMD_IP for 82544Otherwise set TXD_CMD_IP for IPv4, not IPv6Reviewed by:	markj (previous version)MFC after:	2 weeksDifferential Revision:	https://reviews.freebsd.org/D30072

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Fri, 21 Jul 2023 03:51:02 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5253d74e4650300815af351cc510a1c392a16584 - e1000: Format em_txrx</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#5253d74e4650300815af351cc510a1c392a16584</link>
        <description>e1000: Format em_txrxNo functional changes intended.Reviewed by:	markj (prior version)MFC after:	1 weekDifferential Revision:	https://reviews.freebsd.org/D30072

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Fri, 09 Jun 2023 04:06:04 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>034f38cdf864e6794fd63b67bf16c59627576699 - e1000: Add SPDX tag to em_txrx</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#034f38cdf864e6794fd63b67bf16c59627576699</link>
        <description>e1000: Add SPDX tag to em_txrxReviewed by:	markjMFC after:	1 weekDifferential Revision:	https://reviews.freebsd.org/D30072

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Fri, 09 Jun 2023 03:42:20 +0200</pubDate>
        <dc:creator>Kevin Bowling &lt;kbowling@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f7926a6d0c1029c8da265769e7c57b4065faa2df - net: iflib: fix vlan processing in the drivers</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#f7926a6d0c1029c8da265769e7c57b4065faa2df</link>
        <description>net: iflib: fix vlan processing in the driversThe logic that sets iri_vtag and M_VLANTAG does not handle thecase where the 802.11q VLAN tag is 0. Fix this issue acrossthe iflib drivers. While there, also improve and align theVLAN tag check extraction, by moving it outside the RX descriptorloop, eliminating a local variable and additional checks.PR:             260068Reviewed by:    kbowling, gallatinReported by:	erjMFC after:      1 monthDifferential Revision:  https://reviews.freebsd.org/D33156

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Tue, 28 Dec 2021 12:05:31 +0100</pubDate>
        <dc:creator>Vincenzo Maffione &lt;vmaffione@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>52f45d8acee95199159b65a33c94142492c38e41 - net: iflib: let the drivers use isc_capenable</title>
        <link>http://kernelsources.org:8080/source/history/freebsd/sys/dev/e1000/em_txrx.c#52f45d8acee95199159b65a33c94142492c38e41</link>
        <description>net: iflib: let the drivers use isc_capenableSince isc_capenable (private copy of ifp-&gt;if_capenable) isnow synchronized to if_capenable, use it in the driverswhen checking the IFCAP_* bits.This results in better cache usage and avoids indirectionthrough the ifp pointer.PR:             260068Reviewed by:    kbowling, gallatinMFC after:      1 weekDifferential Revision:  https://reviews.freebsd.org/D33156

            List of files:
            /freebsd/sys/dev/e1000/em_txrx.c</description>
        <pubDate>Tue, 28 Dec 2021 12:00:32 +0100</pubDate>
        <dc:creator>Vincenzo Maffione &lt;vmaffione@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
