vpp/test/vpp_udp_decap.py
Arthur de Kerhor 8a6f5d394c udp: add udp decapsulation
Possibility to register a port via CLI or API to decap incoming UDP
packets:
 - For CLI, a user needs to specify the inner protocol (only MPLS
   supported for now)
 - For API, the protocol is specified by index
Added unittests

Type: feature
Change-Id: Ifedd86d8db2e355b7618472554fd67d77a13a4aa
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2021-05-29 18:13:01 +00:00

36 lines
864 B
Python

#!/usr/bin/env python3
"""
UDP decap objects
"""
from vpp_object import VppObject
from socket import inet_pton, inet_ntop, AF_INET, AF_INET6
class VppUdpDecap(VppObject):
def __init__(self,
test,
is_ip4,
dst_port,
next_proto):
self._test = test
self.active = False
self.udp_decap = {
'is_ip4': is_ip4,
'port': dst_port,
'next_proto': next_proto
}
def add_vpp_config(self):
self._test.vapi.udp_decap_add_del(True, self.udp_decap)
self._test.registry.register(self, self._test.logger)
self.active = True
def query_vpp_config(self):
return self.active
def remove_vpp_config(self):
self._test.vapi.udp_decap_add_del(False, self.udp_decap)
self.active = False