test: statd: Add unittest for bridge-mdb

This commit is contained in:
Tobias Waldekranz
2025-01-20 13:44:14 +01:00
parent f4c9a57bb5
commit 57c8d0cf1b
20 changed files with 658 additions and 0 deletions
+2
View File
@@ -1,4 +1,6 @@
---
- case: bridge-mdb/test
name: "bridge-mdb"
- case: containers/test
name: "containers"
- case: interfaces-all/test
@@ -0,0 +1,4 @@
BRIDGE VID GROUP PORTS 
br0 01:00:00:01:02:03 e3
br0 224.1.1.1 e3
br0 ff02::6a br0
@@ -0,0 +1,293 @@
{
"ietf-interfaces:interfaces": {
"interface": [
{
"type": "infix-if-type:loopback",
"name": "lo",
"if-index": 1,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:00:00:00:00:00",
"statistics": {
"in-octets": "568136",
"out-octets": "568136"
},
"ietf-ip:ipv4": {
"address": [
{
"ip": "127.0.0.1",
"prefix-length": 8,
"origin": "static"
}
]
},
"ietf-ip:ipv6": {
"mtu": 65536,
"address": [
{
"ip": "::1",
"prefix-length": 128,
"origin": "static"
}
]
}
},
{
"type": "infix-if-type:etherlike",
"name": "e1",
"if-index": 2,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:01",
"statistics": {
"in-octets": "6056801",
"out-octets": "8943399"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500,
"address": [
{
"ip": "fe80::2a0:85ff:fe00:301",
"prefix-length": 64,
"origin": "link-layer"
}
]
}
},
{
"type": "infix-if-type:etherlike",
"name": "e2",
"if-index": 3,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:02",
"statistics": {
"in-octets": "4388",
"out-octets": "223073"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"unicast": true,
"multicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
}
},
{
"type": "infix-if-type:etherlike",
"name": "e3",
"if-index": 4,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:03",
"statistics": {
"in-octets": "25889",
"out-octets": "375562"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"unicast": true,
"multicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
}
},
{
"type": "infix-if-type:etherlike",
"name": "e4",
"if-index": 5,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:04",
"statistics": {
"in-octets": "32799",
"out-octets": "354844"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"unicast": true,
"multicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
}
},
{
"type": "infix-if-type:etherlike",
"name": "e5",
"if-index": 6,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:05",
"statistics": {
"in-octets": "68102",
"out-octets": "151156"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500,
"address": [
{
"ip": "fe80::2a0:85ff:fe00:305",
"prefix-length": 64,
"origin": "link-layer"
}
]
}
},
{
"type": "infix-if-type:etherlike",
"name": "e6",
"if-index": 7,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:06",
"statistics": {
"in-octets": "137033",
"out-octets": "255084"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500,
"address": [
{
"ip": "fe80::2a0:85ff:fe00:306",
"prefix-length": 64,
"origin": "link-layer"
}
]
}
},
{
"type": "infix-if-type:etherlike",
"name": "e7",
"if-index": 8,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:07",
"statistics": {
"in-octets": "71136",
"out-octets": "153864"
},
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500,
"address": [
{
"ip": "fe80::2a0:85ff:fe00:307",
"prefix-length": 64,
"origin": "link-layer"
}
]
}
},
{
"type": "infix-if-type:bridge",
"name": "br0",
"if-index": 62,
"admin-status": "up",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:00",
"statistics": {
"in-octets": "2200",
"out-octets": "27797"
},
"ietf-ip:ipv4": {
"mtu": 1500,
"address": [
{
"ip": "10.0.0.1",
"prefix-length": 24,
"origin": "static"
}
]
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"infix-interfaces:bridge": {
"multicast": {
"snooping": true,
"querier": "auto",
"query-interval": 125
},
"multicast-filters": {
"multicast-filter": [
{
"group": "01:00:00:01:02:03",
"ports": [
{
"port": "e3",
"state": "permanent"
}
]
},
{
"group": "224.1.1.1",
"ports": [
{
"port": "e3",
"state": "permanent"
}
]
},
{
"group": "ff02::6a",
"ports": [
{
"port": "br0",
"state": "temporary"
}
]
}
]
}
}
}
]
}
}
+293
View File
@@ -0,0 +1,293 @@
{
"ietf-interfaces:interfaces": {
"interface": [
{
"admin-status": "up",
"ietf-ip:ipv4": {
"address": [
{
"ip": "127.0.0.1",
"origin": "static",
"prefix-length": 8
}
]
},
"ietf-ip:ipv6": {
"address": [
{
"ip": "::1",
"origin": "static",
"prefix-length": 128
}
],
"mtu": 65536
},
"if-index": 1,
"name": "lo",
"oper-status": "up",
"phys-address": "00:00:00:00:00:00",
"statistics": {
"in-octets": "568136",
"out-octets": "568136"
},
"type": "infix-if-type:loopback"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"address": [
{
"ip": "fe80::2a0:85ff:fe00:301",
"origin": "link-layer",
"prefix-length": 64
}
],
"mtu": 1500
},
"if-index": 2,
"name": "e1",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:01",
"statistics": {
"in-octets": "6056801",
"out-octets": "8943399"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"if-index": 3,
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"multicast": true,
"unicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
},
"name": "e2",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:02",
"statistics": {
"in-octets": "4388",
"out-octets": "223073"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"if-index": 4,
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"multicast": true,
"unicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
},
"name": "e3",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:03",
"statistics": {
"in-octets": "25889",
"out-octets": "375562"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"if-index": 5,
"infix-interfaces:bridge-port": {
"bridge": "br0",
"flood": {
"broadcast": true,
"multicast": true,
"unicast": true
},
"multicast": {
"fast-leave": false,
"router": "auto"
},
"stp-state": "forwarding"
},
"name": "e4",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:04",
"statistics": {
"in-octets": "32799",
"out-octets": "354844"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"address": [
{
"ip": "fe80::2a0:85ff:fe00:305",
"origin": "link-layer",
"prefix-length": 64
}
],
"mtu": 1500
},
"if-index": 6,
"name": "e5",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:05",
"statistics": {
"in-octets": "68102",
"out-octets": "151156"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"address": [
{
"ip": "fe80::2a0:85ff:fe00:306",
"origin": "link-layer",
"prefix-length": 64
}
],
"mtu": 1500
},
"if-index": 7,
"name": "e6",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:06",
"statistics": {
"in-octets": "137033",
"out-octets": "255084"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"mtu": 1500
},
"ietf-ip:ipv6": {
"address": [
{
"ip": "fe80::2a0:85ff:fe00:307",
"origin": "link-layer",
"prefix-length": 64
}
],
"mtu": 1500
},
"if-index": 8,
"name": "e7",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:07",
"statistics": {
"in-octets": "71136",
"out-octets": "153864"
},
"type": "infix-if-type:etherlike"
},
{
"admin-status": "up",
"ietf-ip:ipv4": {
"address": [
{
"ip": "10.0.0.1",
"origin": "static",
"prefix-length": 24
}
],
"mtu": 1500
},
"ietf-ip:ipv6": {
"mtu": 1500
},
"if-index": 62,
"infix-interfaces:bridge": {
"multicast": {
"querier": "auto",
"query-interval": 125,
"snooping": true
},
"multicast-filters": {
"multicast-filter": [
{
"group": "01:00:00:01:02:03",
"ports": [
{
"port": "e3",
"state": "permanent"
}
]
},
{
"group": "224.1.1.1",
"ports": [
{
"port": "e3",
"state": "permanent"
}
]
},
{
"group": "ff02::6a",
"ports": [
{
"port": "br0",
"state": "temporary"
}
]
}
]
}
},
"name": "br0",
"oper-status": "up",
"phys-address": "00:a0:85:00:03:00",
"statistics": {
"in-octets": "2200",
"out-octets": "27797"
},
"type": "infix-if-type:bridge"
}
]
}
}
@@ -0,0 +1 @@
65536
@@ -0,0 +1 @@
[{"mdb":[{"index":62,"dev":"br0","port":"e3","grp":"01:00:00:01:02:03","state":"permanent","flags":[]},{"index":62,"dev":"br0","port":"e3","grp":"224.1.1.1","state":"permanent","flags":[]},{"index":62,"dev":"br0","port":"br0","grp":"ff02::6a","state":"temp","flags":[]}],"router":{}}]
@@ -0,0 +1 @@
[]
@@ -0,0 +1 @@
[{"ifindex":1,"ifname":"lo","flags":["LOOPBACK","UP","LOWER_UP"],"mtu":65536,"qdisc":"noqueue","operstate":"UP","group":"iface","txqlen":1000,"link_type":"loopback","address":"00:00:00:00:00:00","broadcast":"00:00:00:00:00:00","addr_info":[{"family":"inet","local":"127.0.0.1","prefixlen":8,"scope":"host","protocol":"static","label":"lo","valid_life_time":4294967295,"preferred_life_time":4294967295},{"family":"inet6","local":"::1","prefixlen":128,"scope":"host","protocol":"static","valid_life_time":4294967295,"preferred_life_time":4294967295}]},{"ifindex":2,"ifname":"e1","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:01","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[{"family":"inet6","local":"fe80::2a0:85ff:fe00:301","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]},{"ifindex":3,"ifname":"e2","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:02","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[]},{"ifindex":4,"ifname":"e3","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:03","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[]},{"ifindex":5,"ifname":"e4","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:04","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[]},{"ifindex":6,"ifname":"e5","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:05","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[{"family":"inet6","local":"fe80::2a0:85ff:fe00:305","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]},{"ifindex":7,"ifname":"e6","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:06","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[{"family":"inet6","local":"fe80::2a0:85ff:fe00:306","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]},{"ifindex":8,"ifname":"e7","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:07","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[{"family":"inet6","local":"fe80::2a0:85ff:fe00:307","prefixlen":64,"scope":"link","protocol":"kernel_ll","valid_life_time":4294967295,"preferred_life_time":4294967295}]},{"ifindex":62,"ifname":"br0","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"noqueue","operstate":"UP","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:00","broadcast":"ff:ff:ff:ff:ff:ff","addr_info":[{"family":"inet","local":"10.0.0.1","prefixlen":24,"scope":"global","protocol":"static","label":"br0","valid_life_time":4294967295,"preferred_life_time":4294967295}]}]
File diff suppressed because one or more lines are too long
@@ -0,0 +1,41 @@
{
"pid": 4570,
"query-interval": 125,
"query-response-interval": 10,
"query-last-member-interval": 1,
"robustness": 2,
"router-timeout": 255,
"router-alert": true,
"fast-leave-ports": [ ],
"multicast-router-ports": [ ],
"multicast-flood-ports": [ "e2", "e3", "e4" ],
"multicast-queriers": [
{
"interface": "br0",
"state": "up",
"querier": "10.0.0.1",
"interval": 125,
"version": 3
}
],
"multicast-groups": [
{
"bridge": "br0",
"group": "01:00:00:01:02:03",
"mac": "01:00:00:01:02:03",
"ports": [ "e3" ]
},
{
"bridge": "br0",
"group": "224.1.1.1",
"mac": "01:00:5e:01:01:01",
"ports": [ "e3" ]
},
{
"bridge": "br0",
"group": "ff02::6a",
"mac": "33:33:00:00:00:6a",
"ports": [ "br0" ]
}
]
}
@@ -0,0 +1 @@
[]
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
yang_models="ietf-interfaces"
gen_test=ietf_interfaces/static_multicast_filters/test.py
gen_iface=d3a
cli_commands="show-bridge-mdb"
. $(readlink -f $(dirname $0)/../test.sh)
main "$@"