Re: HOW to forward vlan pkt using DPDK loadbalancer and L2FWD, with intel 82599ES
From: Caianning <hidden>
Date: 2016-11-04 10:23:13
In the LB, I do not use any rule. What I do with LB: 1, use a field of the header to select an application, 2, cut the l2 Head, both with the vlan tag 3, add another L2 head with the L2 Dst MAC set to the VF used by the application, Both rx and tx pkt has the same vlan tag. 4, put it to tx queue, the same as original Loadbalancer. io thread will send it out. What I do with L2FWD: 1, set dst mac to pkt's src mac, 2, set src mac to L2fwd port mac Vlan is not changed. The VF used by LoadBalancer is configured with ip link set mac xx:xx:xx:xx:xx, and spoofchk off. Port_conf with Vlan filter enabled and vlan strip disabled. Called RTE api add Vlan filter table. The VF used by L2FWD is configured with ip link set mac xx:xx:xx:xx:xx vlan yyy, and spoofchk off. Port_conf with Vlan filter enabled and vlan strip disabled. But it seems all pkts are dropped by hardware. When I use the testpmd mac forward(forward pkt to VF 2), it works fine. Does anyone have used the LB to process vlan tagged packet(both rx and tx) with intel 82599 VF? I am not sure what's wrong with LB, and it would be grateful to get some advice from DPDK dev and users groups. thanks. -----邮件原件----- 发件人: Lu, Wenzhuo [mailto:wenzhuo.lu@intel.com] 发送时间: 2016年11月4日 13:20 收件人: Caianning; users@dpdk.org; dev@dpdk.org 主题: RE: HOW to forward vlan pkt using DPDK loadbalancer and L2FD, with intel 82599ES Hi Anning,
-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Caianning
Sent: Friday, November 4, 2016 10:51 AM
To: users@dpdk.org; dev@dpdk.org
Subject: [dpdk-dev] HOW to forward vlan pkt using DPDK loadbalancer
and L2FD, with intel 82599ES
HI,
I am using DPDK 16.07 example loadbalancer to as LB to
forward vlan pkt to applications. LB and applications are using VFs
bound with DPDK igb_uio driver.
But I found the packet can not be send from LB to application. Pkt
input to LB with vlan, after LB processing it is sent out to application using another VF.
As 82599 need vlan filters if we use VF to process vlan pkts, in the
LB we called rte api to add a vlan filter and enable vlan flilter. And
set port_conf with vlan strip off.
And for the application(L2FWD) we use the cmd: ip link set PFxxx VF yy
vlan VLANID.
In the LB ,we can receive pkts with vlan, after processing(cut the
head and add another L2 head with same vlan tag, set destination MAC
to application VF), it is send out to the application VF.
the result is: LB can still processing ,but all the pkt post.
We also did an experiment using testPMD to forward vlan pkt to
application on the same VF used by LB, and it is OK.
We tried kinds of different set of vlan filter, vlan strip, ip link
set, but found no solution.
Does anyone meet the similar problem? And what factor casued the difference?
Thx.I saw you mentioned testpmd is fine. Testpmd is a very simple example, normally it forwards packets blindly. It means there's no route rule. It just forwards packets from one port to another. I guess the difference is the APP you use has some rules for routing/swithing.