Add support for vdev tap devices 82/69982/5
authorXavier Simonart <xavier.simonart@intel.com>
Mon, 20 Apr 2020 21:25:22 +0000 (23:25 +0200)
committerXavier Simonart <xavier.simonart@intel.com>
Fri, 29 May 2020 21:28:44 +0000 (23:28 +0200)
commitfa869940dd9bb459ac599fe80c26c9d3e720fd31
tree67aefe7f36fad283ab690d5d0feae1a547a59487
parent6f898f1c73d630bf6e5e75ba1b30d261c8301d2a
Add support for vdev tap devices

This commit adds support for the creation of tap devices.
To create a tap device, and associate it with a DPDK port,
add within the port section:
vdev=<tap_name>
local ipv4=<ip_assigned_to_port>
<tap_name> will appear as a kernel network device, with an IP <ip_assigned_to_port>

ARP packets received from the network on the DPDK interface will be forwarded to the kernel.
1st packet which needs to be generated to a new IP will cause an IP packet
to be sent to the kernel (using socket sendto) forcing the kernel to send an ARP_REQUEST.

In this commit, there is no notification from the kernel about ARP table changes.
This is subject to further commits.

Two config files, gen_tap.cfg and swap_tap.cfg have been created. They work one against each other.
*** Note however that they do not work if running within the same host
(with the port being connected back to back) ***
This is due to the fact that the kernel would bypass the ports and use local interface...

Change-Id: Iadeec0d99e3c693472ea44bdb9163a3bf97df2fa
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
VNFs/DPPD-PROX/defaults.c
VNFs/DPPD-PROX/defaults.h
VNFs/DPPD-PROX/gen_tap.cfg [new file with mode: 0644]
VNFs/DPPD-PROX/handle_master.c
VNFs/DPPD-PROX/handle_master.h
VNFs/DPPD-PROX/packet_utils.c
VNFs/DPPD-PROX/prox_args.c
VNFs/DPPD-PROX/prox_port_cfg.c
VNFs/DPPD-PROX/prox_port_cfg.h
VNFs/DPPD-PROX/swap_tap.cfg [new file with mode: 0644]