summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interface-definitions/firewall.xml.in2
-rwxr-xr-xsmoketest/scripts/cli/test_firewall.py28
2 files changed, 29 insertions, 1 deletions
diff --git a/interface-definitions/firewall.xml.in b/interface-definitions/firewall.xml.in
index 7538c3cc5..e51cb68a6 100644
--- a/interface-definitions/firewall.xml.in
+++ b/interface-definitions/firewall.xml.in
@@ -466,7 +466,7 @@
<help>Interface associated with zone</help>
</properties>
<children>
- #include <include/generic-interface-multi.xml.i>
+ #include <include/generic-interface-multi-wildcard.xml.i>
<leafNode name="vrf">
<properties>
<help>VRF associated with zone</help>
diff --git a/smoketest/scripts/cli/test_firewall.py b/smoketest/scripts/cli/test_firewall.py
index 90a396df5..bc9900557 100755
--- a/smoketest/scripts/cli/test_firewall.py
+++ b/smoketest/scripts/cli/test_firewall.py
@@ -1086,6 +1086,34 @@ class TestFirewall(VyOSUnitTestSHIM.TestCase):
self.verify_nftables(nftables_search, 'ip vyos_filter')
self.verify_nftables(nftables_search_v6, 'ip6 vyos_filter')
+ def test_wildcard_interfaces(self):
+ wc_interfaces = [
+ 'eth0',
+ 'eth0.*',
+ 'eth1',
+ 'eth1.23.*',
+ 'eth2.5.25',
+ 'eth2.5.25.54',
+ 'eth3*',
+ 'eth4.*',
+ 'ipoe*',
+ 'peth3',
+ 'peth3.',
+ 'pod-one',
+ 'pppoe*',
+ 'pptp*',
+ 'l2tp*',
+ 'sstp*',
+ 'vpptun*',
+ ]
+ for iface in wc_interfaces:
+ self.cli_set(
+ ['firewall', 'zone', 'smoketest-wildcard', 'member', 'interface', iface]
+ )
+ self.cli_commit()
+
+ self.verify_nftables(wc_interfaces, 'ip vyos_filter')
+
def test_flow_offload(self):
self.cli_set(['interfaces', 'ethernet', 'eth0', 'vif', '10'])
self.cli_set(['firewall', 'flowtable', 'smoketest', 'interface', 'eth0.10'])