On 9/10/26 3:16 PM, 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

This looks a bit strange.

> Signed-off-by: Wang Zhan <[email protected]>
> ---
>  net/openvswitch/vport-internal_dev.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/openvswitch/vport-internal_dev.c 
> b/net/openvswitch/vport-internal_dev.c
> index 125d310871e93..73f5184afba42 100644
> --- a/net/openvswitch/vport-internal_dev.c
> +++ b/net/openvswitch/vport-internal_dev.c
> @@ -116,6 +116,7 @@ static void do_setup(struct net_device *netdev)
>       netdev->hw_enc_features = netdev->features;
>       netdev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_STAG_TX;
>       netdev->hw_features = netdev->features;

Please, add an empty line here, it looks awkward to glue the call
to the feature flags block.

> +     netif_set_tso_max_size(netdev, GSO_MAX_SIZE);
>  
>       eth_hw_addr_random(netdev);
>  }
Otherwise, looks fine to me.  There is no reason to block BIG TCP
packets on the internal port when they can enter the datapath from
a veth.  And I don't see why BIG TCP wouldn't work in OVS at the
moment.  The packets will be segmented before sending to userspace
or ports that do not support BIG TCP and all the functions that
check the packet length supposed to use gso_size and not the raw
length.

But, please, CC all the maintainers while sending patches.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to