On 24/02/2025 01:45, Allen Chen wrote: > 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. >
Hi Allen, Apologies, you are right, that was an unintentional reset-author while I was updating the patch. I have updated the commit now to show you as author. I do need to keep my 'Signed-off-by:' as I handled the patch. thanks, Kevin. > 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
