On 29/06/2023 11:50, Eelco Chaudron wrote:
> 
> 
> On 27 Jun 2023, at 12:48, Roi Dayan wrote:
> 
>> From: Gavin Li <gav...@nvidia.com>
>>
>> Add a vxlan gbp offload test case:
>>
>>   vxlan offloads with gbp extention - ping between two ports - offloads
>> enabled ok
>>
>> Signed-off-by: Gavin Li <gav...@nvidia.com>
>> Reviewed-by: Roi Dayan <r...@nvidia.com>
>> Reviewed-by: Simon Horman <simon.hor...@corigine.com>
> 
> Some small comments below, let me know if you agree with the suggested 
> changes. If so, I can roll them in when applying the patch.
> 
> Cheers,
> 
> Eelco
> 
> 
>> ---
>>  tests/system-offloads-traffic.at | 50 ++++++++++++++++++++++++++++++++
>>  1 file changed, 50 insertions(+)
>>
>> diff --git a/tests/system-offloads-traffic.at 
>> b/tests/system-offloads-traffic.at
>> index ae302a29499a..8829389c0414 100644
>> --- a/tests/system-offloads-traffic.at
>> +++ b/tests/system-offloads-traffic.at
>> @@ -805,3 +805,53 @@ OVS_TRAFFIC_VSWITCHD_STOP(["/could not open network 
>> device ovs-p0/d
>>  /failed to offload flow/d
>>  "])
>>  AT_CLEANUP
>> +
>> +AT_SETUP([offloads - ping over vxlan tunnel with gbp - offloads enabled])
>> +OVS_CHECK_TUNNEL_TSO()
>> +OVS_CHECK_VXLAN()
>> +OVS_CHECK_MIN_KERNEL(5, 5)
> 
> I’m not a big fan of kernel version checks, as kernels from various 
> distributions might vary.
> How about the following change, i.e. checking for the probe log message:
> 
> -OVS_CHECK_MIN_KERNEL(5, 5)
> 
>  OVS_TRAFFIC_VSWITCHD_START([], [], [-- set Open_vSwitch . 
> other_config:hw-offload=true])
> +AT_SKIP_IF([! grep -q "probe tc: vxlan gbp is supported." ovs-vswitchd.log])
> 

sure this is better. we just wanted to skip the test on older kernels. thanks.

>> +OVS_TRAFFIC_VSWITCHD_START([], [], [-- set Open_vSwitch . 
>> other_config:hw-offload=true])
>> +ADD_BR([br-underlay])
>> +
>> +AT_CHECK([ovs-ofctl add-flow br-underlay "actions=normal"])
>> +
>> +ADD_NAMESPACES(at_ns0)
>> +
>> +dnl Set up underlay link from host into the namespace using veth pair.
>> +ADD_VETH(p0, at_ns0, br-underlay, "172.31.1.1/24")
>> +AT_CHECK([ip addr add dev br-underlay "172.31.1.100/24"])
>> +AT_CHECK([ip link set dev br-underlay up])
>> +
>> +dnl Set up tunnel endpoints on OVS outside the namespace and with a native.
> 
> You added a dot here in v6, but the sentence continues on the next line, so 
> we should remove the dot here.

ack

> 
>> +dnl linux device inside the namespace.
>> +ADD_OVS_TUNNEL([vxlan], [br0], [at_vxlan0], [172.31.1.1], [10.1.1.100/24], 
>> [options:exts=gbp])
>> +AT_CHECK([ovs-ofctl add-flow br0 "in_port=br0 
>> actions=load:0x200->NXM_NX_TUN_GBP_ID[], output:at_vxlan0]")
>> +AT_CHECK([ovs-ofctl add-flow br0 "in_port=at_vxlan0, tun_gbp_id=512 
>> actions=output:br0"])
>> +AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"])
>> +
>> +ADD_NATIVE_TUNNEL([vxlan], [at_vxlan1], [at_ns0], [172.31.1.100], 
>> [10.1.1.1/24],
>> +                  [id 0 dstport 4789 gbp])
>> +NS_CHECK_EXEC([at_ns0], [iptables -I OUTPUT -p ip -j MARK --set-mark 512 
>> 2>/dev/null], [0])
>> +NS_CHECK_EXEC([at_ns0], [iptables -I INPUT -m mark --mark 512 -j ACCEPT 
>> 2>/dev/null], [0], [ignore])
>> +
>> +dnl First, check the underlay.
>> +NS_CHECK_EXEC([at_ns0], [ping -q -c 3 -i 0.3 -w 2 172.31.1.100 | 
>> FORMAT_PING], [0], [dnl
>> +3 packets transmitted, 3 received, 0% packet loss, time 0ms
>> +])
>> +
>> +dnl Okay, now check the overlay.
>> +NS_CHECK_EXEC([at_ns0], [ping -q -c 1000 -i 0.01 10.1.1.100 | FORMAT_PING], 
>> [0], [dnl
>> +1000 packets transmitted, 1000 received, 0% packet loss, time 0ms
>> +])
>> +
>> +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep 
>> "eth_type(0x0800)" | grep "tp_dst=4789,vxlan(gbp(id=512))" | wc -l], [0], 
>> [dnl
>> +1
>> +])
>> +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep 
>> "eth_type(0x0800)" | grep "tp_dst=4789,vxlan(gbp(id=512,flags=0))" | wc -l], 
>> [0], [dnl
>> +1
>> +])
>> +
>> +OVS_TRAFFIC_VSWITCHD_STOP
>> +AT_CLEANUP
>> +
>> -- 
>> 2.38.0
> 
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to