Hi Kevin,

Thank you for reviewing my commit code.

Next, I describe how I test this new feature.
The port dpdk0 and net0 are added to ovs bridge named br-jmnd.
Two ovs flow tables should be added:
ovs-ofctl add-flow br-jmnd 
in_port=dpdk0,dl_type=0x86dd,nw_proto=58,action=output:net0
ovs-ofctl add-flow br-jmnd 
in_port=net0,dl_type=0x86dd,nw_proto=58,action=output:dpdk0
The slow path from dpdk0 to net0 is tester---macport(a physical port in 
DPU)---dpe(a data process unit in DPU)---dpdk0(ovs)---net0(ovs)---host_net0(a 
port in VM which belongs to HOST).
The fast path from dpdk0 to net0 is tester---macport---dpe---host_net0.
We can use tester to build and send icmpv6 packet(eth/ipv6/icmpv6) or use ping6 
command between tester and VM.
The first icmpv6 packet from dpdk0 to net0(or net0 to dpdk0) will pass through 
the slow path, and the flow table will be offloaded to the hardware(DPU).
The follow-up packets will pass through the fast path.

I set 'ovs-appctl vlog/set netdev_offload_dpdk:dbg' and find logs in 
ovs-vswitchd.log, as the screenshot 'ovs-log.png' shows.

I use some methods to confirm that the flow is offloaded.
I confirm the flow is offloaded with 'ovs-appctl dpctl/dump-flows -m | grep 
offloaded',as the screenshot 'ovs-offload.png' shows.
In addition, I can confirm the flow is offloaed by watching the 'dpe_packets' 
and 'dpe_bytes', because ovs-dpdk read these counts from
hardware using 'rte_flow_query', as the screenshot 'ovs-dpe-packet.png' shows.
And, lastly, I use some debug commands to read hardware counts and regsiters, 
so I can be sure that the flow is offloaded and the packets pass through 
hardware.

Best wishes.
-----邮件原件-----
发件人: Kevin Traynor <[email protected]> 
发送时间: 2024年11月8日 19:23
收件人: Simon Horman <[email protected]>; Allen Chen <[email protected]>
抄送: [email protected]
主题: Re: [ovs-dev] [PATCH] netdev_offload_dpdk: Support icmpv6 offload.

External Mail: This email originated from OUTSIDE of the organization!
Do not click links, open attachments or provide ANY information unless you 
recognize the sender and know the content is safe.


On 08/11/2024 08:23, Simon Horman wrote:
> On Thu, Oct 31, 2024 at 03:13:38PM +0800, Allen Chen via dev wrote:
>> Support icmpv6 offload
>>
>> Signed-off-by: Allen Chen <[email protected]>
>
> Hi Allen,
>
> The code you have added looks correct to me.
> However, I believe that more code is needed to support this offload.
>
> 1. I think the following condition, also in parse_flow_match,
>    needs to be updated:
>
>     if (proto != IPPROTO_ICMP && proto != IPPROTO_UDP  &&
>         proto != IPPROTO_SCTP && proto != IPPROTO_TCP  &&
>         (match->wc.masks.tp_src ||
>          match->wc.masks.tp_dst ||
>          match->wc.masks.tcp_flags)) {
>         VLOG_DBG("L4 Protocol (%u) not supported", proto);
>         return -1;
>     }
>
> 2. I think that handling of RTE_FLOW_ITEM_TYPE_ICMP6
>    needs to be added to dump_flow_pattern().
>
> I also think it would be good to update ./NEWS.
>
> And, lastly, as I unfortunately do not have an easy way to test this, 
> I'd appreciate it if the commit message could include some logs 
> showing usage of this new feature.
>

Hi Allen,

How did you test and confirm it is working ? I'm having trouble getting this to 
work but it could be an issue on my side.

Can you set, 'ovs-appctl vlog/set netdev_offload_dpdk:dbg' and show the output 
when using this?

Also, did you confirm the flow is offloaded with 'ovs-appctl dpctl/dump-flows 
-m | grep offloaded'

thanks,
Kevin.

> Thanks!
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to