Initial GENEVE TUNNEL implementation and tests.

Notes on this first implementation:
* First version of the implementation does NOT support GENEVE OPTIONS
HEADER: it isn't well understood what the purpose of the OPTIONS will be and/or
what content would be placed in the variable option data;

Once the IETF work will evolve and further information will be available
it could be possible to modify the frame rewrite to contemplate the
actual GENEVE OPTIONS.

Change-Id: Iddfe6f408cc45bb0800f00ce6a3e302e48a4ed52
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
This commit is contained in:
Marco Varlese
2017-09-19 14:25:28 +02:00
committed by Damjan Marion
parent 4e5ceefb55
commit b598f1d3d7
20 changed files with 4600 additions and 2 deletions

View File

@ -385,6 +385,38 @@ class VppPapiProvider(object):
'decap_next_index': decap_next_index,
'vni': vni})
def geneve_add_del_tunnel(
self,
local_addr,
remote_addr,
mcast_sw_if_index=0xFFFFFFFF,
is_add=1,
is_ipv6=0,
encap_vrf_id=0,
decap_next_index=0xFFFFFFFF,
vni=0):
"""
:param remote_addr:
:param local_addr:
:param is_add: (Default value = 1)
:param is_ipv6: (Default value = 0)
:param encap_vrf_id: (Default value = 0)
:param decap_next_index: (Default value = 0xFFFFFFFF)
:param mcast_sw_if_index: (Default value = 0xFFFFFFFF)
:param vni: (Default value = 0)
"""
return self.api(self.papi.geneve_add_del_tunnel,
{'is_add': is_add,
'is_ipv6': is_ipv6,
'local_address': local_addr,
'remote_address': remote_addr,
'mcast_sw_if_index': mcast_sw_if_index,
'encap_vrf_id': encap_vrf_id,
'decap_next_index': decap_next_index,
'vni': vni})
def bridge_domain_add_del(self, bd_id, flood=1, uu_flood=1, forward=1,
learn=1, arp_term=0, is_add=1):
"""Create/delete bridge domain.