Skip to content

Commit bf0eecd

Browse files
committed
add optional description to network-interfaces
1 parent 26e8703 commit bf0eecd

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

src/firewall_test/plugins/translate/abstract.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class NetworkInterface(TranslateOutput):
161161
def __init__(
162162
self,
163163
name: str, up: bool, ip4: list[str], ip6: list[str],
164-
net4: list[str], net6: list[str], mac: str = None,
164+
net4: list[str], net6: list[str], mac: str = None, desc: str = None,
165165
):
166166
self.name = name
167167
self.up = up
@@ -170,9 +170,11 @@ def __init__(
170170
self.net4 = net4
171171
self.net6 = net6
172172
self.mac = mac
173+
self.desc = desc
173174

174175
def __repr__(self) -> str:
175-
return f'NETWORK-INTERFACE: {self.name} with IPv4 {self.ip4} and IPv6 {self.ip6}'
176+
desc = '' if self.desc is None else f' description {self.desc}'
177+
return f'NETWORK-INTERFACE: {self.name} with IPv4 {self.ip4} and IPv6 {self.ip6}{desc}'
176178

177179
def dump(self) -> dict:
178180
ip4, ip6, net4, net6 = [], [], [], []
@@ -196,6 +198,7 @@ def dump(self) -> dict:
196198
'net4': net4,
197199
'net6': net6,
198200
'mac': self.mac,
201+
'desc': self.desc,
199202
}
200203

201204
def validate(self):

src/firewall_test/plugins/translate/opnsense/interfaces.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def _parse_ni(raw: dict) -> dict:
2828
'net4': [],
2929
'net6': [],
3030
'up': raw['status'] == 'up',
31+
'desc': raw.get('description', None),
3132
}
3233

3334
ips = raw.get('ipv4', [])

src/firewall_test/simulator/main.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def __init__(self, packet: PACKET_KINDS, simulator):
3939
self.route_src = self._s.router.get_src_route(self.packet)
4040
self._update_packet_ni_in()
4141
if packet.ni_in is not None:
42-
log_info('Router', f'Packet inbound-interface: {packet.ni_in}')
42+
self._log_ni(in_out='in', name=packet.ni_in)
4343

4444
if self.route_src is None:
4545
log_error('Router', 'No Source-Route found', final=True)
@@ -72,7 +72,7 @@ def __init__(self, packet: PACKET_KINDS, simulator):
7272
self.route_dst = self._s.router.get_route(self.packet)
7373
self._update_packet_ni_out()
7474
if packet.ni_out is not None:
75-
log_info('Router', f'Packet outbound-interface: {packet.ni_out}')
75+
self._log_ni(in_out='out', name=packet.ni_out)
7676

7777
if self.flow_type != FlowInput:
7878
if self.route_dst is None:
@@ -244,6 +244,17 @@ def _log_route(self, out: bool, route: StaticRoute):
244244

245245
log_info('Router', msg)
246246

247+
def _log_ni(self, in_out: str, name: str):
248+
desc = ''
249+
for ni in self._s.nis:
250+
if ni.name == name:
251+
if ni.desc is not None:
252+
desc = f' ({ni.desc})'
253+
254+
break
255+
256+
log_info('Router', f'Packet {in_out}bound-interface: {name}{desc}')
257+
247258
@staticmethod
248259
def _log_block(rule: (Rule, None)):
249260
if rule is None:

0 commit comments

Comments
 (0)