You can run multiple VPP instances [1] and connect them using memif interface, 
which is shared memory-based software interface.
VPP also has packet generator, to emulate the PC1, PC2 in your topology.

In this way, you can achieve the topology based on pure software implementation.


From: <> On Behalf Of Xiaodong Xu via
Sent: Thursday, March 23, 2023 12:51 PM
Subject: Re: [vpp-dev] [QUESTION] How to add virtual interfaces on ARM board

Maybe you can try host interface in this case, since you are going to share the 
control traffic and the user traffic on the only NIC. Check
 for more details.


On Wed, Mar 22, 2023 at 6:50 PM <<>> 

I'm a newbie and study vpp recently. I succeed cross compiling vpp (including 
my own plugin) , and it can be started up on my arm64 board (aarch64 ubuntu 
18.04).  But there is only one physical NIC (eth1)  which I can use on the 
board, and I don't need dpdk, so there is only local0 when I run "show int" cmd.

My question is how to add two more ip addresses (maybe virtual interface?)  as 
below network tepology.


My own plugin implements ip-in-ip, something like gre or gtp tunnel, to remove 
ip header from port1 to port2 and add ip header from port2 to port1.

Note that this vpp program and the whole function can run successfully on PC 
vmware ubuntu virtual machine with dpdk, since I can create more ensXXX in the 
virtual machine, and I use igb_uio dpdk driver to operate the interface. But I 
really don't know how to implement the same function on the board in case there 
is only one NIC. Both with or without dpdk is ok for me, as it seems that 
igb_uio.ko is not supported on the board NIC, only rte_kni.ko is supported, and 
I'm not sure if kni is still suppored in vpp dpdk plugin.

Any helps will be appreciated. Thanks!

Links: You receive all messages sent to this group.
View/Reply Online (#22761):
Mute This Topic:
Group Owner:

Reply via email to