* [PATCH net-next v2] openvswitch: raise internal port TSO limit
@ 2026-09-16 6:58 Wang Zhan
2026-09-16 9:37 ` Eelco Chaudron
2026-09-17 12:20 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 5+ messages in thread
From: Wang Zhan @ 2026-09-16 6:58 UTC (permalink / raw)
To: netdev
Cc: davem, edumazet, kuba, pabeni, horms, keyong.sun, Ilya Maximets,
Aaron Conole, Eelco Chaudron, dev, Wang Zhan
Set the internal port TSO limit to GSO_MAX_SIZE (512 KB), as for
loopback and veth. This allows the admin/user to set a GSO limit up to
this value, to use BIG TCP for traffic routed through the internal port.
Only the capability limit changes: the IPv4 and IPv6 GSO and GRO limits
remain at 64 KiB until changed by the administrator.
Validation used a same-host test with a temporary OVS bridge, a veth pair,
and a network namespace:
TCP client -> OVS internal -> OVS bridge -> veth -> TCP server
The veth endpoints were BIG TCP capable throughout the test, and only the
OVS internal port limits changed between 64 KiB and 524280 bytes. A single
iperf3 3.19 TCP flow, run separately over IPv4 and IPv6 with six
alternating runs per state (`-t 15 -O 5`, fixed CPU affinity and port
tuple), increased throughput by 18.1% for IPv4 and 34.7% for IPv6:
protocol BIG TCP off BIG TCP on CV off / on
TCP/IPv4 65.567 Gbps 77.420 Gbps 1.12% / 0.37%
TCP/IPv6 55.355 Gbps 74.568 Gbps 1.20% / 0.68%
Assisted-by: LLM
Signed-off-by: Wang Zhan <wang.zhan@smartx.com>
---
v2:
- add an empty line before netif_set_tso_max_size()
- rebase net-next/main
- cc all the maintainers
v1: https://lore.kernel.org/20260910131635.780802-1-wang.zhan@smartx.com/
---
net/openvswitch/vport-internal_dev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
index 125d310871e93..77a16d5ebd543 100644
--- a/net/openvswitch/vport-internal_dev.c
+++ b/net/openvswitch/vport-internal_dev.c
@@ -117,6 +117,8 @@ static void do_setup(struct net_device *netdev)
netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
netdev->hw_features = netdev->features;
+ netif_set_tso_max_size(netdev, GSO_MAX_SIZE);
+
eth_hw_addr_random(netdev);
}
base-commit: 87b80c2f6b05cad9f0ff9136709c62a0f59923e3
--
2.47.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next v2] openvswitch: raise internal port TSO limit
2026-09-16 6:58 [PATCH net-next v2] openvswitch: raise internal port TSO limit Wang Zhan
@ 2026-09-16 9:37 ` Eelco Chaudron
2026-09-16 9:49 ` Ilya Maximets
2026-09-17 12:20 ` patchwork-bot+netdevbpf
1 sibling, 1 reply; 5+ messages in thread
From: Eelco Chaudron @ 2026-09-16 9:37 UTC (permalink / raw)
To: Wang Zhan
Cc: netdev, davem, edumazet, kuba, pabeni, horms, keyong.sun,
Ilya Maximets, Aaron Conole, dev
On 16 Sep 2026, at 8:58, Wang Zhan wrote:
> Set the internal port TSO limit to GSO_MAX_SIZE (512 KB), as for
> loopback and veth. This allows the admin/user to set a GSO limit up to
> this value, to use BIG TCP for traffic routed through the internal port.
>
> Only the capability limit changes: the IPv4 and IPv6 GSO and GRO limits
> remain at 64 KiB until changed by the administrator.
>
> Validation used a same-host test with a temporary OVS bridge, a veth pair,
> and a network namespace:
>
> TCP client -> OVS internal -> OVS bridge -> veth -> TCP server
>
> The veth endpoints were BIG TCP capable throughout the test, and only the
> OVS internal port limits changed between 64 KiB and 524280 bytes. A single
> iperf3 3.19 TCP flow, run separately over IPv4 and IPv6 with six
> alternating runs per state (`-t 15 -O 5`, fixed CPU affinity and port
> tuple), increased throughput by 18.1% for IPv4 and 34.7% for IPv6:
>
> protocol BIG TCP off BIG TCP on CV off / on
> TCP/IPv4 65.567 Gbps 77.420 Gbps 1.12% / 0.37%
> TCP/IPv6 55.355 Gbps 74.568 Gbps 1.20% / 0.68%
>
> Assisted-by: LLM
I think Ilya already mentioned this earlier, but the LLM tag means you need to fill in the LLM model name you used.
The rest looks good to me.
//Eelco
> Signed-off-by: Wang Zhan <wang.zhan@smartx.com>
> ---
>
> v2:
> - add an empty line before netif_set_tso_max_size()
> - rebase net-next/main
> - cc all the maintainers
> v1: https://lore.kernel.org/20260910131635.780802-1-wang.zhan@smartx.com/
>
> ---
> net/openvswitch/vport-internal_dev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
> index 125d310871e93..77a16d5ebd543 100644
> --- a/net/openvswitch/vport-internal_dev.c
> +++ b/net/openvswitch/vport-internal_dev.c
> @@ -117,6 +117,8 @@ static void do_setup(struct net_device *netdev)
> netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
> netdev->hw_features = netdev->features;
>
> + netif_set_tso_max_size(netdev, GSO_MAX_SIZE);
> +
> eth_hw_addr_random(netdev);
> }
>
>
> base-commit: 87b80c2f6b05cad9f0ff9136709c62a0f59923e3
> --
> 2.47.3
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next v2] openvswitch: raise internal port TSO limit
2026-09-16 9:37 ` Eelco Chaudron
@ 2026-09-16 9:49 ` Ilya Maximets
2026-09-16 11:12 ` Eelco Chaudron
0 siblings, 1 reply; 5+ messages in thread
From: Ilya Maximets @ 2026-09-16 9:49 UTC (permalink / raw)
To: Eelco Chaudron, Wang Zhan
Cc: netdev, davem, edumazet, kuba, pabeni, horms, keyong.sun,
Ilya Maximets, Aaron Conole, dev
On 9/16/26 11:37 AM, Eelco Chaudron wrote:
>
>
> On 16 Sep 2026, at 8:58, Wang Zhan wrote:
>
>> Set the internal port TSO limit to GSO_MAX_SIZE (512 KB), as for
>> loopback and veth. This allows the admin/user to set a GSO limit up to
>> this value, to use BIG TCP for traffic routed through the internal port.
>>
>> Only the capability limit changes: the IPv4 and IPv6 GSO and GRO limits
>> remain at 64 KiB until changed by the administrator.
>>
>> Validation used a same-host test with a temporary OVS bridge, a veth pair,
>> and a network namespace:
>>
>> TCP client -> OVS internal -> OVS bridge -> veth -> TCP server
>>
>> The veth endpoints were BIG TCP capable throughout the test, and only the
>> OVS internal port limits changed between 64 KiB and 524280 bytes. A single
>> iperf3 3.19 TCP flow, run separately over IPv4 and IPv6 with six
>> alternating runs per state (`-t 15 -O 5`, fixed CPU affinity and port
>> tuple), increased throughput by 18.1% for IPv4 and 34.7% for IPv6:
>>
>> protocol BIG TCP off BIG TCP on CV off / on
>> TCP/IPv4 65.567 Gbps 77.420 Gbps 1.12% / 0.37%
>> TCP/IPv6 55.355 Gbps 74.568 Gbps 1.20% / 0.68%
>>
>> Assisted-by: LLM
>
> I think Ilya already mentioned this earlier, but the LLM tag means you need to
> fill in the LLM model name you used.
It looks like the rules changed recently, see:
816d9992d9ed ("coding-assistants: simplify attribution")
So that's just a new acceptable format, which is fine.
>
> The rest looks good to me.
>
> //Eelco
>
>> Signed-off-by: Wang Zhan <wang.zhan@smartx.com>
>> ---
>>
>> v2:
>> - add an empty line before netif_set_tso_max_size()
>> - rebase net-next/main
>> - cc all the maintainers
>> v1: https://lore.kernel.org/20260910131635.780802-1-wang.zhan@smartx.com/
>>
>> ---
>> net/openvswitch/vport-internal_dev.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
>> index 125d310871e93..77a16d5ebd543 100644
>> --- a/net/openvswitch/vport-internal_dev.c
>> +++ b/net/openvswitch/vport-internal_dev.c
>> @@ -117,6 +117,8 @@ static void do_setup(struct net_device *netdev)
>> netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
>> netdev->hw_features = netdev->features;
>>
>> + netif_set_tso_max_size(netdev, GSO_MAX_SIZE);
>> +
>> eth_hw_addr_random(netdev);
>> }
Reviewed-by: Ilya Maximets <i.maximets@ovn.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next v2] openvswitch: raise internal port TSO limit
2026-09-16 9:49 ` Ilya Maximets
@ 2026-09-16 11:12 ` Eelco Chaudron
0 siblings, 0 replies; 5+ messages in thread
From: Eelco Chaudron @ 2026-09-16 11:12 UTC (permalink / raw)
To: Ilya Maximets
Cc: Wang Zhan, netdev, davem, edumazet, kuba, pabeni, horms,
keyong.sun, Aaron Conole, dev
On 16 Sep 2026, at 11:49, Ilya Maximets wrote:
> On 9/16/26 11:37 AM, Eelco Chaudron wrote:
>>
>>
>> On 16 Sep 2026, at 8:58, Wang Zhan wrote:
>>
>>> Set the internal port TSO limit to GSO_MAX_SIZE (512 KB), as for
>>> loopback and veth. This allows the admin/user to set a GSO limit up to
>>> this value, to use BIG TCP for traffic routed through the internal port.
>>>
>>> Only the capability limit changes: the IPv4 and IPv6 GSO and GRO limits
>>> remain at 64 KiB until changed by the administrator.
>>>
>>> Validation used a same-host test with a temporary OVS bridge, a veth pair,
>>> and a network namespace:
>>>
>>> TCP client -> OVS internal -> OVS bridge -> veth -> TCP server
>>>
>>> The veth endpoints were BIG TCP capable throughout the test, and only the
>>> OVS internal port limits changed between 64 KiB and 524280 bytes. A single
>>> iperf3 3.19 TCP flow, run separately over IPv4 and IPv6 with six
>>> alternating runs per state (`-t 15 -O 5`, fixed CPU affinity and port
>>> tuple), increased throughput by 18.1% for IPv4 and 34.7% for IPv6:
>>>
>>> protocol BIG TCP off BIG TCP on CV off / on
>>> TCP/IPv4 65.567 Gbps 77.420 Gbps 1.12% / 0.37%
>>> TCP/IPv6 55.355 Gbps 74.568 Gbps 1.20% / 0.68%
>>>
>>> Assisted-by: LLM
>>
>> I think Ilya already mentioned this earlier, but the LLM tag means you need to
>> fill in the LLM model name you used.
>
> It looks like the rules changed recently, see:
> 816d9992d9ed ("coding-assistants: simplify attribution")
>
> So that's just a new acceptable format, which is fine.
Ok, missed that change :( So with that
Reviewed-by: Eelco Chaudron <echaudro@redhat.com>
>>
>> The rest looks good to me.
>>
>> //Eelco
>>
>>> Signed-off-by: Wang Zhan <wang.zhan@smartx.com>
>>> ---
>>>
>>> v2:
>>> - add an empty line before netif_set_tso_max_size()
>>> - rebase net-next/main
>>> - cc all the maintainers
>>> v1: https://lore.kernel.org/20260910131635.780802-1-wang.zhan@smartx.com/
>>>
>>> ---
>>> net/openvswitch/vport-internal_dev.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
>>> index 125d310871e93..77a16d5ebd543 100644
>>> --- a/net/openvswitch/vport-internal_dev.c
>>> +++ b/net/openvswitch/vport-internal_dev.c
>>> @@ -117,6 +117,8 @@ static void do_setup(struct net_device *netdev)
>>> netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
>>> netdev->hw_features = netdev->features;
>>>
>>> + netif_set_tso_max_size(netdev, GSO_MAX_SIZE);
>>> +
>>> eth_hw_addr_random(netdev);
>>> }
> Reviewed-by: Ilya Maximets <i.maximets@ovn.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next v2] openvswitch: raise internal port TSO limit
2026-09-16 6:58 [PATCH net-next v2] openvswitch: raise internal port TSO limit Wang Zhan
2026-09-16 9:37 ` Eelco Chaudron
@ 2026-09-17 12:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-09-17 12:20 UTC (permalink / raw)
To: Wang Zhan
Cc: netdev, davem, edumazet, kuba, pabeni, horms, keyong.sun,
i.maximets, aconole, echaudro, dev
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Wed, 16 Sep 2026 14:58:44 +0800 you wrote:
> Set the internal port TSO limit to GSO_MAX_SIZE (512 KB), as for
> loopback and veth. This allows the admin/user to set a GSO limit up to
> this value, to use BIG TCP for traffic routed through the internal port.
>
> Only the capability limit changes: the IPv4 and IPv6 GSO and GRO limits
> remain at 64 KiB until changed by the administrator.
>
> [...]
Here is the summary with links:
- [net-next,v2] openvswitch: raise internal port TSO limit
https://git.kernel.org/netdev/net-next/c/859e40055c19
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-09-17 12:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 6:58 [PATCH net-next v2] openvswitch: raise internal port TSO limit Wang Zhan
2026-09-16 9:37 ` Eelco Chaudron
2026-09-16 9:49 ` Ilya Maximets
2026-09-16 11:12 ` Eelco Chaudron
2026-09-17 12:20 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox