Hi Kevin,
Thank you for reviewing my commit and updating the dpdk.rst.doc, but I think 
the author is me,
Because I did the main work,including modifying code and testing work.
So can you give me reasonable explanation.

Thanks.
-----邮件原件-----
发件人: Kevin Traynor <[email protected]> 
发送时间: 2025年2月21日 23:59
收件人: Allen Chen <[email protected]>; [email protected]
主题: Re: [ovs-dev] [PATCH v2] netdev_offload_dpdk: Support vlan insertion in 
vxlan header.

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 14/02/2025 03:16, Allen Chen via dev wrote:
> Support vlan insertion in vxlan header
>
> Signed-off-by: Allen Chen <[email protected]>
>

Thanks Allen. I fixed the commit message and updated the dpdk.rst doc.
With that, applied.

> ---
> After vxlan encapsulation,an underlay packet becomes vxlan packet.
> OVS will report an debug info if a vlan is inserted in vxlan header after 
> vxlan encapsulation.
> We can find the debug info "unsupported nested action inside 
> clone(),action type:4" by "cat /var/log/openvswitch/ovs-vswitchd.log",so the 
> ovs flow can not be offloaded successfully.
>
> For example,an underlay packet can be:Eth header/IP header/Payload, 
> after vxlan encapsulation,it can be:Outer Eth header/Outer IP 
> header/Outer UDP/Vxlan header/Inner Eth header/Inner IP 
> header/Payload, after vlan insertion,it can be:Outer Eth header/Vlan 
> header/Outer IP header/Outer UDP/Vxlan header/Inner Eth header/Inner 
> IP header/Payload.(the debug info occur at this point)
>
> This commit can fix the problem in this case.
>
> The ovs configuration is listed:
> ovs-vsctl add-br br-jmnd -- set bridge br-jmnd datapath_type=netdev -- 
> br-set-external-id br-jmnd bridge-id br-jmnd -- set bridge br-jmnd 
> fail-mode=standalone ovs-vsctl add-br br-ext -- set bridge br-ext 
> datapath_type=netdev -- br-set-external-id br-ext bridge-id br-ext -- 
> set bridge br-ext fail-mode=standalone ovs-vsctl add-port br-ext dpdk0 
> -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:01:00.0 
> options:n_txq=8 options:n_rxq=8 options:n_rxq_desc=2048 
> options:n_txq_desc=2048 ofport_request=1 ovs-vsctl add-port br-jmnd 
> vxlan0 -- set interface vxlan0 type=vxlan 
> options:{remote_ip="192.188.2.222",local_ip="192.188.2.210",in_key=100
> ,out_key=100} ovs-vsctl add-port br-jmnd net0 -- set Interface net0 
> type=dpdk 
> options:{dpdk-devargs="net_jmnd0,iface=/tmp/sock0,client=1,queues=8",n
> _rxq="8",n_rxq_desc="256",n_txq_desc="256"}
> ovs-vsctl set Bridge br-ext other_config:hwaddr="02:02:03:04:05:06"
> ovs-appctl tnl/arp/set br-ext 192.188.2.222 0A:00:27:00:00:0C 
> ovs-ofctl del-flows br-jmnd ovs-ofctl add-flow br-jmnd 
> in_port=vxlan0,action=output:net0 ovs-ofctl add-flow br-jmnd 
> in_port=net0,ip,nw_src=172.0.1.2/32,nw_dst=172.0.1.1/32,action=output:
> vxlan0
> ifconfig br-ext 192.188.2.210
> ovs-vsctl set o . other_config:max-idle=5000 ifconfig br-ext up 
> ifconfig br-jmnd up ovs-ofctl add-flow br-ext 
> priority=1,ip,udp,nw_src=192.188.2.210,nw_dst=192.188.2.222,actions=mo
> d_vlan_vid:3001,output:dpdk0
> ---
>  lib/netdev-offload-dpdk.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c 
> index b1c848f4d..d0b0d4c62 100644
> --- a/lib/netdev-offload-dpdk.c
> +++ b/lib/netdev-offload-dpdk.c
> @@ -2137,6 +2137,9 @@ parse_clone_actions(struct netdev *netdev,
>              if (add_output_action(netdev, actions, ca)) {
>                  return -1;
>              }
> +        } else if (clone_type == OVS_ACTION_ATTR_PUSH_VLAN) {
> +            const struct ovs_action_push_vlan *vlan = nl_attr_get(ca);
> +            parse_vlan_push_action(actions, vlan);
>          } else {
>              VLOG_DBG_RL(&rl,
>                          "Unsupported nested action inside clone(), "

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

Reply via email to