[dpdk-dev] [PATCH v4 0/2] app/testpmd implement VXLAN/NVGRE Encap/Decap
Nélio Laranjeiro
nelio.laranjeiro at 6wind.com
Tue Jun 26 17:15:02 CEST 2018
On Fri, Jun 22, 2018 at 11:19:14AM +0100, Mohammad Abdul Awal wrote:
> On 22/06/2018 10:08, Nélio Laranjeiro wrote:
> > On Fri, Jun 22, 2018 at 09:51:15AM +0100, Mohammad Abdul Awal wrote:
> > >
> > > On 22/06/2018 09:31, Nélio Laranjeiro wrote:
> > > > On Fri, Jun 22, 2018 at 08:42:10AM +0100, Mohammad Abdul Awal wrote:
> > > > > Hi Nelio,
> > > > >
> > > > >
> > > > > On 21/06/2018 08:13, Nelio Laranjeiro wrote:
> > > > > > This series adds an easy and maintainable configuration version support for
> > > > > > those two actions for 18.08 by using global variables in testpmd to store the
> > > > > > necessary information for the tunnel encapsulation. Those variables are used
> > > > > > in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily
> > > > > > the action for flows.
> > > > > >
> > > > > > A common way to use it:
> > > > > >
> > > > > > set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22
> > > > > > flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end
> > > > > This way we can define only one tunnel for all the flows. This is not a
> > > > > convenient for testing a scenario (e.g. mutiport or switch) with multiple
> > > > > tunnels. Isn't it?
> > > > Hi Awal.
> > > >
> > > > The "set vxlan" command will just configure the outer VXLAN tunnel to be
> > > > used, when the "flow" command is invoked, it will use the VXLAN tunnel
> > > > information and create a valid VXLAN_ENCAP action. For instance:
> > > >
> > > > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22
> > > > testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end
> > > > testpmd> set vxlan ipv6 4 34 42 ::1 ::2222 80:12:13:14:15:16 22:22:22:22:22:22
> > > > testpmd> flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end
> > > >
> > > > will create two VLXAN_ENCAP flow one with IPv4 tunnel the second one
> > > > with an IPv6. Whereas:
> > > >
> > > > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22
> > > > testpmd> flow create 0 ingress pattern eth / ipv4 src is 10.2.3.4 / end
> > > > actions vxlan_encap / queue index 0 / end
> > > > testpmd> flow create 0 ingress pattern eth / ipv4 src is 20.2.3.4 / end
> > > > actions vxlan_encap / queue index 0 / end
> > > >
> > > > will encapsulate the packets having as IPv4 source IP 10.2.3.4 and
> > > > 20.2.3.4 with the same VXLAN tunnel headers.
> > > I understand that the same IPv4 tunnel will be used for both flows in your
> > > example above. I have the following questions.
> > >
> > > 1) How can we create two or more IPv4 (or IPv6) tunnel?
> > > 1) How can we make the flows to use different IPv4 tunnels?
> > > As an example,
> > >
> > > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22
> > > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 33:33:33:33:33:33 44:44:44:44:44:44
> > > testpmd> flow create 0 ingress pattern end actions vxlan_encap <first tunnel?> / queue index 0 / end
> > > testpmd> flow create 0 ingress pattern end actions vxlan_encap <second tunnel?> / queue index 0 / end
> > >
> > Doing this, the flows will use the same tunnel, you must do:
> >
> > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 11:11:11:11:11:11 22:22:22:22:22:22
> > testpmd> flow create 0 ingress pattern end actions vxlan_encap <first tunnel?> / queue index 0 / end
> > testpmd> set vxlan ipv4 4 4 4 127.0.0.1 128.0.0.1 33:33:33:33:33:33 44:44:44:44:44:44
> > testpmd> flow create 0 ingress pattern end actions vxlan_encap <second tunnel?> / queue index 0 / end
> >
> > to have what you want.
> OK, thanks for the clarification. So, since there will be only one global
> instance of the tunnel, for any subsequent "set vxlan" operations, the
> tunnel created from the last last operation will be used. May be it should
> be cleared in the description/documentation?
Will add it in the v5.
> > > Is it possible?
> > Regards,
> >
>
Thanks,
--
Nélio Laranjeiro
6WIND
More information about the dev
mailing list