From 57c8d0cf1b6546cffad7f9831f9647d7732f9737 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 20 Jan 2025 11:17:11 +0100 Subject: [PATCH] test: statd: Add unittest for bridge-mdb --- test/case/statd/all.yaml | 2 + .../case/statd/bridge-mdb/cli/show-bridge-mdb | 4 + .../statd/bridge-mdb/ietf-interfaces.json | 293 ++++++++++++++++++ test/case/statd/bridge-mdb/operational.json | 293 ++++++++++++++++++ .../rootfs/proc/sys/net/ipv6/conf/br0/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e1/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e2/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e3/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e4/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e5/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e6/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/e7/mtu | 1 + .../rootfs/proc/sys/net/ipv6/conf/lo/mtu | 1 + .../system/run/bridge_-j_mdb_show_dev_br0 | 1 + .../bridge-mdb/system/run/bridge_-j_vlan_show | 1 + .../bridge-mdb/system/run/ip_-j_addr_show | 1 + .../system/run/ip_-s_-d_-j_link_show | 1 + .../system/run/mctl_-p_show_igmp_json | 41 +++ .../system/run/podman_ps_-a_--format=json | 1 + test/case/statd/bridge-mdb/test | 11 + 20 files changed, 658 insertions(+) create mode 100644 test/case/statd/bridge-mdb/cli/show-bridge-mdb create mode 100644 test/case/statd/bridge-mdb/ietf-interfaces.json create mode 100644 test/case/statd/bridge-mdb/operational.json create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/br0/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e1/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e2/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e3/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e4/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e5/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e6/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e7/mtu create mode 100644 test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/lo/mtu create mode 100644 test/case/statd/bridge-mdb/system/run/bridge_-j_mdb_show_dev_br0 create mode 100644 test/case/statd/bridge-mdb/system/run/bridge_-j_vlan_show create mode 100644 test/case/statd/bridge-mdb/system/run/ip_-j_addr_show create mode 100644 test/case/statd/bridge-mdb/system/run/ip_-s_-d_-j_link_show create mode 100644 test/case/statd/bridge-mdb/system/run/mctl_-p_show_igmp_json create mode 100644 test/case/statd/bridge-mdb/system/run/podman_ps_-a_--format=json create mode 100755 test/case/statd/bridge-mdb/test diff --git a/test/case/statd/all.yaml b/test/case/statd/all.yaml index 4f59386d..b7993e15 100644 --- a/test/case/statd/all.yaml +++ b/test/case/statd/all.yaml @@ -1,4 +1,6 @@ --- +- case: bridge-mdb/test + name: "bridge-mdb" - case: containers/test name: "containers" - case: interfaces-all/test diff --git a/test/case/statd/bridge-mdb/cli/show-bridge-mdb b/test/case/statd/bridge-mdb/cli/show-bridge-mdb new file mode 100644 index 00000000..ae1acdf4 --- /dev/null +++ b/test/case/statd/bridge-mdb/cli/show-bridge-mdb @@ -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 diff --git a/test/case/statd/bridge-mdb/ietf-interfaces.json b/test/case/statd/bridge-mdb/ietf-interfaces.json new file mode 100644 index 00000000..58753393 --- /dev/null +++ b/test/case/statd/bridge-mdb/ietf-interfaces.json @@ -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" + } + ] + } + ] + } + } + } + ] + } +} diff --git a/test/case/statd/bridge-mdb/operational.json b/test/case/statd/bridge-mdb/operational.json new file mode 100644 index 00000000..813f9926 --- /dev/null +++ b/test/case/statd/bridge-mdb/operational.json @@ -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" + } + ] + } +} diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/br0/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/br0/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/br0/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e1/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e1/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e1/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e2/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e2/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e2/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e3/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e3/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e3/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e4/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e4/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e4/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e5/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e5/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e5/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e6/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e6/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e6/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e7/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e7/mtu new file mode 100644 index 00000000..3d86ec64 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/e7/mtu @@ -0,0 +1 @@ +1500 diff --git a/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/lo/mtu b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/lo/mtu new file mode 100644 index 00000000..e2ed8f4d --- /dev/null +++ b/test/case/statd/bridge-mdb/system/rootfs/proc/sys/net/ipv6/conf/lo/mtu @@ -0,0 +1 @@ +65536 diff --git a/test/case/statd/bridge-mdb/system/run/bridge_-j_mdb_show_dev_br0 b/test/case/statd/bridge-mdb/system/run/bridge_-j_mdb_show_dev_br0 new file mode 100644 index 00000000..5f911e74 --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/bridge_-j_mdb_show_dev_br0 @@ -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":{}}] diff --git a/test/case/statd/bridge-mdb/system/run/bridge_-j_vlan_show b/test/case/statd/bridge-mdb/system/run/bridge_-j_vlan_show new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/bridge_-j_vlan_show @@ -0,0 +1 @@ +[] diff --git a/test/case/statd/bridge-mdb/system/run/ip_-j_addr_show b/test/case/statd/bridge-mdb/system/run/ip_-j_addr_show new file mode 100644 index 00000000..23c5e44c --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/ip_-j_addr_show @@ -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}]}] diff --git a/test/case/statd/bridge-mdb/system/run/ip_-s_-d_-j_link_show b/test/case/statd/bridge-mdb/system/run/ip_-s_-d_-j_link_show new file mode 100644 index 00000000..cf6cb33b --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/ip_-s_-d_-j_link_show @@ -0,0 +1 @@ +[{"ifindex":1,"ifname":"lo","flags":["LOOPBACK","UP","LOWER_UP"],"mtu":65536,"qdisc":"noqueue","operstate":"UP","linkmode":"DEFAULT","group":"iface","txqlen":1000,"link_type":"loopback","address":"00:00:00:00:00:00","broadcast":"00:00:00:00:00:00","promiscuity":0,"allmulti":0,"min_mtu":0,"max_mtu":0,"inet6_addr_gen_mode":"eui64","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":524280,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"stats64":{"rx":{"bytes":568136,"packets":1738,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":568136,"packets":1738,"errors":0,"dropped":0,"carrier_errors":0,"collisions":0}}},{"ifindex":2,"ifname":"e1","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:01","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"inet6_addr_gen_mode":"eui64","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio0","stats64":{"rx":{"bytes":6056801,"packets":27587,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":8943399,"packets":23531,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":3,"ifname":"e2","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:02","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":1,"allmulti":1,"min_mtu":68,"max_mtu":65535,"linkinfo":{"info_slave_kind":"bridge","info_slave_data":{"state":"forwarding","priority":32,"cost":100,"hairpin":false,"guard":false,"root_block":false,"fastleave":false,"learning":true,"flood":true,"id":"0x8001","no":"0x1","designated_port":32769,"designated_cost":0,"bridge_id":"8000.0:a0:85:0:3:0","root_id":"8000.0:a0:85:0:3:0","hold_timer":0.00,"message_age_timer":0.00,"forward_delay_timer":7.32,"topology_change_ack":0,"config_pending":0,"proxy_arp":false,"proxy_arp_wifi":false,"multicast_router":1,"mcast_flood":true,"bcast_flood":true,"mcast_to_unicast":false,"neigh_suppress":false,"neigh_vlan_suppress":false,"group_fwd_mask":"0","group_fwd_mask_str":"0x0","vlan_tunnel":false,"isolated":false,"locked":false,"mab":false}},"inet6_addr_gen_mode":"none","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio1","stats64":{"rx":{"bytes":4388,"packets":146,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":223073,"packets":644,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":4,"ifname":"e3","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:03","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":1,"allmulti":1,"min_mtu":68,"max_mtu":65535,"linkinfo":{"info_slave_kind":"bridge","info_slave_data":{"state":"forwarding","priority":32,"cost":100,"hairpin":false,"guard":false,"root_block":false,"fastleave":false,"learning":true,"flood":true,"id":"0x8002","no":"0x2","designated_port":32770,"designated_cost":0,"bridge_id":"8000.0:a0:85:0:3:0","root_id":"8000.0:a0:85:0:3:0","hold_timer":0.00,"message_age_timer":0.00,"forward_delay_timer":7.32,"topology_change_ack":0,"config_pending":0,"proxy_arp":false,"proxy_arp_wifi":false,"multicast_router":1,"mcast_flood":true,"bcast_flood":true,"mcast_to_unicast":false,"neigh_suppress":false,"neigh_vlan_suppress":false,"group_fwd_mask":"0","group_fwd_mask_str":"0x0","vlan_tunnel":false,"isolated":false,"locked":false,"mab":false}},"inet6_addr_gen_mode":"none","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio2","stats64":{"rx":{"bytes":25889,"packets":159,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":375562,"packets":1794,"errors":0,"dropped":1,"carrier_errors":0,"collisions":0}}},{"ifindex":5,"ifname":"e4","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","master":"br0","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:04","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":1,"allmulti":1,"min_mtu":68,"max_mtu":65535,"linkinfo":{"info_slave_kind":"bridge","info_slave_data":{"state":"forwarding","priority":32,"cost":100,"hairpin":false,"guard":false,"root_block":false,"fastleave":false,"learning":true,"flood":true,"id":"0x8003","no":"0x3","designated_port":32771,"designated_cost":0,"bridge_id":"8000.0:a0:85:0:3:0","root_id":"8000.0:a0:85:0:3:0","hold_timer":0.00,"message_age_timer":0.00,"forward_delay_timer":7.32,"topology_change_ack":0,"config_pending":0,"proxy_arp":false,"proxy_arp_wifi":false,"multicast_router":1,"mcast_flood":true,"bcast_flood":true,"mcast_to_unicast":false,"neigh_suppress":false,"neigh_vlan_suppress":false,"group_fwd_mask":"0","group_fwd_mask_str":"0x0","vlan_tunnel":false,"isolated":false,"locked":false,"mab":false}},"inet6_addr_gen_mode":"none","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio3","stats64":{"rx":{"bytes":32799,"packets":181,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":354844,"packets":1682,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":6,"ifname":"e5","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:05","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"inet6_addr_gen_mode":"eui64","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio4","stats64":{"rx":{"bytes":68102,"packets":202,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":151156,"packets":394,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":7,"ifname":"e6","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:06","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"inet6_addr_gen_mode":"eui64","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio5","stats64":{"rx":{"bytes":137033,"packets":1012,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":255084,"packets":1309,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":8,"ifname":"e7","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"pfifo_fast","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:07","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"inet6_addr_gen_mode":"eui64","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"parentbus":"virtio","parentdev":"virtio6","stats64":{"rx":{"bytes":71136,"packets":205,"errors":0,"dropped":0,"over_errors":0,"multicast":0},"tx":{"bytes":153864,"packets":401,"errors":0,"dropped":2,"carrier_errors":0,"collisions":0}}},{"ifindex":62,"ifname":"br0","flags":["BROADCAST","MULTICAST","UP","LOWER_UP"],"mtu":1500,"qdisc":"noqueue","operstate":"UP","linkmode":"DEFAULT","group":"default","txqlen":1000,"link_type":"ether","address":"00:a0:85:00:03:00","broadcast":"ff:ff:ff:ff:ff:ff","promiscuity":0,"allmulti":0,"min_mtu":68,"max_mtu":65535,"linkinfo":{"info_kind":"bridge","info_data":{"forward_delay":1500,"hello_time":200,"max_age":2000,"ageing_time":30000,"stp_state":0,"priority":32768,"vlan_filtering":0,"vlan_protocol":"802.1Q","bridge_id":"8000.0:a0:85:0:3:0","root_id":"8000.0:a0:85:0:3:0","root_port":0,"root_path_cost":0,"topology_change":0,"topology_change_detected":0,"hello_timer":0.00,"tcn_timer":0.00,"topology_change_timer":0.00,"gc_timer":292.37,"fdb_n_learned":4,"fdb_max_learned":0,"vlan_default_pvid":0,"vlan_stats_enabled":0,"vlan_stats_per_port":0,"group_fwd_mask":"0","group_addr":"01:80:c2:00:00:00","mcast_snooping":1,"no_linklocal_learn":0,"mcast_vlan_snooping":0,"mst_enabled":0,"mcast_flood_always":1,"mcast_router":1,"mcast_query_use_ifaddr":0,"mcast_querier":0,"mcast_hash_elasticity":16,"mcast_hash_max":4096,"mcast_last_member_cnt":2,"mcast_startup_query_cnt":2,"mcast_last_member_intvl":100,"mcast_membership_intvl":26000,"mcast_querier_intvl":25500,"mcast_query_intvl":12500,"mcast_query_response_intvl":1000,"mcast_startup_query_intvl":3124,"mcast_stats_enabled":0,"mcast_igmp_version":3,"mcast_mld_version":2,"nf_call_iptables":0,"nf_call_ip6tables":0,"nf_call_arptables":0}},"inet6_addr_gen_mode":"none","num_tx_queues":1,"num_rx_queues":1,"gso_max_size":65536,"gso_max_segs":65535,"tso_max_size":65536,"tso_max_segs":65535,"gro_max_size":65536,"gso_ipv4_max_size":65536,"gro_ipv4_max_size":65536,"stats64":{"rx":{"bytes":2200,"packets":42,"errors":0,"dropped":0,"over_errors":0,"multicast":36},"tx":{"bytes":27797,"packets":58,"errors":0,"dropped":1,"carrier_errors":0,"collisions":0}}}] diff --git a/test/case/statd/bridge-mdb/system/run/mctl_-p_show_igmp_json b/test/case/statd/bridge-mdb/system/run/mctl_-p_show_igmp_json new file mode 100644 index 00000000..e6455e8f --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/mctl_-p_show_igmp_json @@ -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" ] + } + ] +} diff --git a/test/case/statd/bridge-mdb/system/run/podman_ps_-a_--format=json b/test/case/statd/bridge-mdb/system/run/podman_ps_-a_--format=json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/test/case/statd/bridge-mdb/system/run/podman_ps_-a_--format=json @@ -0,0 +1 @@ +[] diff --git a/test/case/statd/bridge-mdb/test b/test/case/statd/bridge-mdb/test new file mode 100755 index 00000000..27a5b90c --- /dev/null +++ b/test/case/statd/bridge-mdb/test @@ -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 "$@"