urpf: add interface dump to API 86/40086/6
authorPim van Pelt <pim@ipng.nl>
Sun, 10 Dec 2023 20:07:38 +0000 (21:07 +0100)
committerPim van Pelt <pim@ipng.nl>
Wed, 10 Jan 2024 00:28:06 +0000 (00:28 +0000)
commit2fa69effc844d7a27d46c0f163c0840df961eb2d
tree3bcff2a831eacbb7479cb5eaf0e82147b91063be
parent97fef28a0bd700d6ac6d8325e8a4335614d95bec
urpf: add interface dump to API

Add an urpf_interface_dump() API call, with optional sw_if_index.
If either a mode or a table is specified in any given interface
address family and direction, return it in a list, otherwise omit
it.

TESTED:
create loopback interface instance 0
create loopback interface instance 1
create loopback interface instance 2
create loopback interface instance 3
ip6 table add 8298
set urpf ip4 rx loose loop1
set urpf ip6 tx off loop2 table 8298

API call urpf_interface_dump(sw_if_index=~1) returns:
[
urpf_interface_details(_0=658, context=2, sw_if_index=2, is_rx=True, mode=<vl_api_urpf_mode_t.URPF_API_MODE_LOOSE: 1>, af=<vl_api_address_family_t.ADDRESS_IP4: 0>, table_id=0),
urpf_interface_details(_0=658, context=2, sw_if_index=3, is_rx=False, mode=<vl_api_urpf_mode_t.URPF_API_MODE_OFF: 0>, af=<vl_api_address_family_t.ADDRESS_IP6: 1>, table_id=8298)
]

Type: improvement
Change-Id: I1ded5c445dc07dab73ea41b817b5827b72ca79d4
Signed-off-by: pim@ipng.nl
src/plugins/urpf/urpf.api
src/plugins/urpf/urpf_api.c
test/test_urpf.py