|
1 | 1 | #!/bin/bash
|
2 | 2 | # SPDX-License-Identifier: GPL-2.0
|
3 | 3 |
|
4 |
| -ALL_TESTS="unreachable_chain_test gact_goto_chain_test create_destroy_chain" |
| 4 | +ALL_TESTS="unreachable_chain_test gact_goto_chain_test create_destroy_chain \ |
| 5 | + template_filter_fits" |
5 | 6 | NUM_NETIFS=2
|
6 | 7 | source tc_common.sh
|
7 | 8 | source lib.sh
|
@@ -99,6 +100,47 @@ create_destroy_chain()
|
99 | 100 | log_test "create destroy chain"
|
100 | 101 | }
|
101 | 102 |
|
| 103 | +template_filter_fits() |
| 104 | +{ |
| 105 | + RET=0 |
| 106 | + |
| 107 | + tc chain add dev $h2 ingress protocol ip \ |
| 108 | + flower dst_mac 00:00:00:00:00:00/FF:FF:FF:FF:FF:FF &> /dev/null |
| 109 | + tc chain add dev $h2 ingress chain 1 protocol ip \ |
| 110 | + flower src_mac 00:00:00:00:00:00/FF:FF:FF:FF:FF:FF &> /dev/null |
| 111 | + |
| 112 | + tc filter add dev $h2 ingress protocol ip pref 1 handle 1101 \ |
| 113 | + flower dst_mac $h2mac action drop |
| 114 | + check_err $? "Failed to insert filter which fits template" |
| 115 | + |
| 116 | + tc filter add dev $h2 ingress protocol ip pref 1 handle 1102 \ |
| 117 | + flower src_mac $h2mac action drop &> /dev/null |
| 118 | + check_fail $? "Incorrectly succeded to insert filter which does not template" |
| 119 | + |
| 120 | + tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ |
| 121 | + flower src_mac $h2mac action drop |
| 122 | + check_err $? "Failed to insert filter which fits template" |
| 123 | + |
| 124 | + tc filter add dev $h2 ingress chain 1 protocol ip pref 1 handle 1102 \ |
| 125 | + flower dst_mac $h2mac action drop &> /dev/null |
| 126 | + check_fail $? "Incorrectly succeded to insert filter which does not template" |
| 127 | + |
| 128 | + tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1102 \ |
| 129 | + flower &> /dev/null |
| 130 | + tc filter del dev $h2 ingress chain 1 protocol ip pref 1 handle 1101 \ |
| 131 | + flower &> /dev/null |
| 132 | + |
| 133 | + tc filter del dev $h2 ingress protocol ip pref 1 handle 1102 \ |
| 134 | + flower &> /dev/null |
| 135 | + tc filter del dev $h2 ingress protocol ip pref 1 handle 1101 \ |
| 136 | + flower &> /dev/null |
| 137 | + |
| 138 | + tc chain del dev $h2 ingress chain 1 |
| 139 | + tc chain del dev $h2 ingress |
| 140 | + |
| 141 | + log_test "template filter fits" |
| 142 | +} |
| 143 | + |
102 | 144 | setup_prepare()
|
103 | 145 | {
|
104 | 146 | h1=${NETIFS[p1]}
|
|
0 commit comments