mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-22 13:33:56 +03:00
Merge pull request #20484 from DaanDeMeyer/rx-gro-hw
Add rx-gro-hw support
This commit is contained in:
commit
0e0e57a484
@ -662,49 +662,56 @@
|
||||
<varlistentry>
|
||||
<term><varname>ReceiveChecksumOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the hardware offload for checksumming of ingress
|
||||
<para>Takes a boolean. If set to true, hardware offload for checksumming of ingress
|
||||
network packets is enabled. When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>TransmitChecksumOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the hardware offload for checksumming of egress
|
||||
<para>Takes a boolean. If set to true, hardware offload for checksumming of egress
|
||||
network packets is enabled. When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>TCPSegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the TCP Segmentation Offload (TSO) is enabled.
|
||||
<para>Takes a boolean. If set to true, TCP Segmentation Offload (TSO) is enabled.
|
||||
When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>TCP6SegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the TCP6 Segmentation Offload (tx-tcp6-segmentation) is enabled.
|
||||
<para>Takes a boolean. If set to true, TCP6 Segmentation Offload (tx-tcp6-segmentation) is enabled.
|
||||
When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GenericSegmentationOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the Generic Segmentation Offload (GSO) is enabled.
|
||||
<para>Takes a boolean. If set to true, Generic Segmentation Offload (GSO) is enabled.
|
||||
When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GenericReceiveOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the Generic Receive Offload (GRO) is enabled.
|
||||
<para>Takes a boolean. If set to true, Generic Receive Offload (GRO) is enabled.
|
||||
When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GenericReceiveOffloadHardware=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, hardware accelerated Generic Receive Offload (GRO) is
|
||||
enabled. When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>LargeReceiveOffload=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. If set to true, the Large Receive Offload (LRO) is enabled.
|
||||
<para>Takes a boolean. If set to true, Large Receive Offload (LRO) is enabled.
|
||||
When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -736,7 +743,7 @@
|
||||
<varlistentry>
|
||||
<term><varname>RxFlowControl=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. When set, enables the receive flow control, also known as the ethernet
|
||||
<para>Takes a boolean. When set, enables receive flow control, also known as the ethernet
|
||||
receive PAUSE message (generate and send ethernet PAUSE frames). When unset, the kernel's
|
||||
default will be used.</para>
|
||||
</listitem>
|
||||
@ -744,7 +751,7 @@
|
||||
<varlistentry>
|
||||
<term><varname>TxFlowControl=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. When set, enables the transmit flow control, also known as the ethernet
|
||||
<para>Takes a boolean. When set, enables transmit flow control, also known as the ethernet
|
||||
transmit PAUSE message (respond to received ethernet PAUSE frames). When unset, the kernel's
|
||||
default will be used.</para>
|
||||
</listitem>
|
||||
@ -752,7 +759,7 @@
|
||||
<varlistentry>
|
||||
<term><varname>AutoNegotiationFlowControl=</varname></term>
|
||||
<listitem>
|
||||
<para>Takes a boolean. When set, the auto negotiation enables the interface to exchange state
|
||||
<para>Takes a boolean. When set, auto negotiation enables the interface to exchange state
|
||||
advertisements with the connected peer so that the two devices can agree on the ethernet
|
||||
PAUSE configuration. When unset, the kernel's default will be used.</para>
|
||||
</listitem>
|
||||
|
@ -70,13 +70,14 @@ DEFINE_STRING_TABLE_LOOKUP(port, NetDevPort);
|
||||
DEFINE_CONFIG_PARSE_ENUM(config_parse_port, port, NetDevPort, "Failed to parse Port setting");
|
||||
|
||||
static const char* const netdev_feature_table[_NET_DEV_FEAT_MAX] = {
|
||||
[NET_DEV_FEAT_RX] = "rx-checksum",
|
||||
[NET_DEV_FEAT_TX] = "tx-checksum-", /* The suffix "-" means any feature beginning with "tx-checksum-" */
|
||||
[NET_DEV_FEAT_GSO] = "tx-generic-segmentation",
|
||||
[NET_DEV_FEAT_GRO] = "rx-gro",
|
||||
[NET_DEV_FEAT_LRO] = "rx-lro",
|
||||
[NET_DEV_FEAT_TSO] = "tx-tcp-segmentation",
|
||||
[NET_DEV_FEAT_TSO6] = "tx-tcp6-segmentation",
|
||||
[NET_DEV_FEAT_RX] = "rx-checksum",
|
||||
[NET_DEV_FEAT_TX] = "tx-checksum-", /* The suffix "-" means any feature beginning with "tx-checksum-" */
|
||||
[NET_DEV_FEAT_GSO] = "tx-generic-segmentation",
|
||||
[NET_DEV_FEAT_GRO] = "rx-gro",
|
||||
[NET_DEV_FEAT_GRO_HW] = "rx-gro-hw",
|
||||
[NET_DEV_FEAT_LRO] = "rx-lro",
|
||||
[NET_DEV_FEAT_TSO] = "tx-tcp-segmentation",
|
||||
[NET_DEV_FEAT_TSO6] = "tx-tcp6-segmentation",
|
||||
};
|
||||
|
||||
static const char* const ethtool_link_mode_bit_table[] = {
|
||||
|
@ -23,6 +23,7 @@ typedef enum NetDevFeature {
|
||||
NET_DEV_FEAT_TX,
|
||||
NET_DEV_FEAT_GSO,
|
||||
NET_DEV_FEAT_GRO,
|
||||
NET_DEV_FEAT_GRO_HW,
|
||||
NET_DEV_FEAT_LRO,
|
||||
NET_DEV_FEAT_TSO,
|
||||
NET_DEV_FEAT_TSO6,
|
||||
|
@ -57,6 +57,7 @@ Link.TCPSegmentationOffload, config_parse_tristate,
|
||||
Link.TCP6SegmentationOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_TSO6])
|
||||
Link.UDPSegmentationOffload, config_parse_warn_compat, DISABLED_LEGACY, 0
|
||||
Link.GenericReceiveOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_GRO])
|
||||
Link.GenericReceiveOffloadHardware, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_GRO_HW])
|
||||
Link.LargeReceiveOffload, config_parse_tristate, 0, offsetof(LinkConfig, features[NET_DEV_FEAT_LRO])
|
||||
Link.RxChannels, config_parse_ring_buffer_or_channel, 0, offsetof(LinkConfig, channels.rx)
|
||||
Link.TxChannels, config_parse_ring_buffer_or_channel, 0, offsetof(LinkConfig, channels.tx)
|
||||
|
@ -36,6 +36,7 @@ TCPSegmentationOffload=
|
||||
TCP6SegmentationOffload=
|
||||
UDPSegmentationOffload=
|
||||
GenericReceiveOffload=
|
||||
GenericReceiveOffloadHardware=
|
||||
LargeReceiveOffload=
|
||||
RxChannels=
|
||||
TxChannels=
|
||||
|
Loading…
Reference in New Issue
Block a user