|
@@ -1,7 +1,8 @@
|
|
#!/bin/bash
|
|
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
|
-ALL_TESTS="unreachable_chain_test gact_goto_chain_test create_destroy_chain"
|
|
|
|
|
|
+ALL_TESTS="unreachable_chain_test gact_goto_chain_test create_destroy_chain \
|
|
|
|
+ template_filter_fits"
|
|
NUM_NETIFS=2
|
|
NUM_NETIFS=2
|
|
source tc_common.sh
|
|
source tc_common.sh
|
|
source lib.sh
|
|
source lib.sh
|
|
@@ -99,6 +100,47 @@ create_destroy_chain()
|
|
log_test "create destroy chain"
|
|
log_test "create destroy chain"
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+template_filter_fits()
|
|
|
|
+{
|
|
|
|
+ RET=0
|
|
|
|
+
|
|
|
|
+ tc chain add dev $h2 ingress protocol ip \
|
|
|
|
+ flower dst_mac 00:00:00:00:00:00/FF:FF:FF:FF:FF:FF &> /dev/null
|
|
|
|
+ tc chain add dev $h2 ingress chain 1 protocol ip \
|
|
|
|
+ flower src_mac 00:00:00:00:00:00/FF:FF:FF:FF:FF:FF &> /dev/null
|
|
|
|
+
|
|
|
|
+ tc filter add dev $h2 ingress protocol ip pref 1 handle 1101 \
|
|
|
|
+ flower dst_mac $h2mac action drop
|
|
|
|
+ check_err $? "Failed to insert filter which fits template"
|
|
|
|
+
|
|
|
|
+ tc filter add dev $h2 ingress protocol ip pref 1 handle 1102 \
|
|
|
|
+ flower src_mac $h2mac action drop &> /dev/null
|
|
|
|
+ check_fail $? "Incorrectly succeded to insert filter which does not template"
|
|
|
|
+
|
|
|
|
+ tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \
|
|
|
|
+ flower src_mac $h2mac action drop
|
|
|
|
+ check_err $? "Failed to insert filter which fits template"
|
|
|
|
+
|
|
|
|
+ tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1102 \
|
|
|
|
+ flower dst_mac $h2mac action drop &> /dev/null
|
|
|
|
+ check_fail $? "Incorrectly succeded to insert filter which does not template"
|
|
|
|
+
|
|
|
|
+ tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1102 \
|
|
|
|
+ flower &> /dev/null
|
|
|
|
+ tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \
|
|
|
|
+ flower &> /dev/null
|
|
|
|
+
|
|
|
|
+ tc filter del dev $h2 ingress protocol ip pref 1 handle 1102 \
|
|
|
|
+ flower &> /dev/null
|
|
|
|
+ tc filter del dev $h2 ingress protocol ip pref 1 handle 1101 \
|
|
|
|
+ flower &> /dev/null
|
|
|
|
+
|
|
|
|
+ tc chain del dev $h2 ingress chain 1
|
|
|
|
+ tc chain del dev $h2 ingress
|
|
|
|
+
|
|
|
|
+ log_test "template filter fits"
|
|
|
|
+}
|
|
|
|
+
|
|
setup_prepare()
|
|
setup_prepare()
|
|
{
|
|
{
|
|
h1=${NETIFS[p1]}
|
|
h1=${NETIFS[p1]}
|