Files
vpp/test/asf/vpp_session_sdl.py
Steven Luong c4b5d10115 session: add Source Deny List
With this feature, session enable is now modified to have 3 modes of operation
session enable -- only enable session
session enable rt-backend sdl -- enable session with sdl
session enable rt-backend rule-table -- enable session with rule-table

session rule tables are now created on demand, upon adding first rule
to the rule table.

refactor session table to remove depenency from sesssion rules table. Now
session rules table APIs take srtg_handle and transport
proto instead of srt pointer.

Type: feature

Change-Id: Idde6a9b2f46b29bb931f9039636562575572aa14
Signed-off-by: Steven Luong <sluong@cisco.com>
2024-09-06 18:26:56 +00:00

76 lines
1.8 KiB
Python

from ipaddress import IPv4Network
from vpp_object import VppObject
from vpp_papi import VppEnum
from vpp_ip import INVALID_INDEX
from vpp_papi_provider import UnexpectedApiReturnValueError
class SessionSdl:
"""Session SDL"""
def __init__(
self,
lcl,
action_index,
tag,
):
self.action_index = action_index
self.lcl = lcl
self.tag = tag
def encode(self):
return {
"lcl": self.lcl,
"action_index": self.action_index,
"tag": self.tag,
}
class VppSessionSdl(VppObject):
"""VPP Session SDL"""
def __init__(self, test, rules, is_add, appns_index):
self._test = test
self._rules = rules
self.is_add = is_add
self.appns_index = appns_index
@property
def rules(self):
return self._rules
@property
def count(self):
return len(self._rules)
def encode_rules(self):
rules = []
for rule in self._rules:
rules.append(rule.encode())
return rules
def add_vpp_config(self, expect_error=False):
try:
reply = self._test.vapi.session_sdl_add_del(
is_add=self.is_add,
appns_index=self.appns_index,
count=self.count,
r=self.encode_rules(),
)
self._test.registry.register(self, self._test.logger)
if expect_error:
self._test.fail("Unexpected api reply")
return self
except UnexpectedApiReturnValueError:
if not expect_error:
self._test.fail("Unexpected api reply")
return None
def query_vpp_config(self):
pass
def remove_vpp_config(self, expect_error=False):
pass