summaryrefslogtreecommitdiffstats
path: root/testsuite/tests/tc/flower_mpls.t
blob: 430ed13efe53778aeb35cb1cd8b159818d3f458d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/sh

. lib/generic.sh

DEV="$(rand_dev)"
ts_ip "$0" "Add $DEV dummy interface" link add dev $DEV up type dummy
ts_tc "$0" "Add ingress qdisc" qdisc add dev $DEV ingress

reset_qdisc()
{
	ts_tc "$0" "Remove ingress qdisc" qdisc del dev $DEV ingress
	ts_tc "$0" "Add ingress qdisc" qdisc add dev $DEV ingress
}

ts_tc "$0" "Add MPLS filter matching first LSE with minimal values" \
	filter add dev $DEV ingress protocol mpls_uc flower         \
	mpls_label 0 mpls_tc 0 mpls_bos 0 mpls_ttl 0                \
	action drop
ts_tc "$0" "Show ingress filters" filter show dev $DEV ingress
test_on "mpls_label 0"
test_on "mpls_tc 0"
test_on "mpls_bos 0"
test_on "mpls_ttl 0"

reset_qdisc
ts_tc "$0" "Add MPLS filter matching first LSE with maximal values" \
	filter add dev $DEV ingress protocol mpls_uc flower         \
	mpls_label 1048575 mpls_tc 7 mpls_bos 1 mpls_ttl 255        \
	action drop
ts_tc "$0" "Show ingress filters" filter show dev $DEV ingress
test_on "mpls_label 1048575"
test_on "mpls_tc 7"
test_on "mpls_bos 1"
test_on "mpls_ttl 255"

reset_qdisc
ts_tc "$0" "Add MPLS filter matching second LSE with minimal values" \
	filter add dev $DEV ingress protocol mpls_uc flower          \
	mpls lse depth 2 label 0 tc 0 bos 0 ttl 0                    \
	action drop
ts_tc "$0" "Show ingress filters" filter show dev $DEV ingress
test_on "mpls"
test_on "lse"
test_on "depth 2"
test_on "label 0"
test_on "tc 0"
test_on "bos 0"
test_on "ttl 0"

reset_qdisc
ts_tc "$0" "Add MPLS filter matching second LSE with maximal values" \
	filter add dev $DEV ingress protocol mpls_uc flower          \
	mpls lse depth 2 label 1048575 tc 7 bos 1 ttl 255            \
	action drop
ts_tc "$0" "Show ingress filters" filter show dev $DEV ingress
test_on "mpls"
test_on "lse"
test_on "depth 2"
test_on "label 1048575"
test_on "tc 7"
test_on "bos 1"
test_on "ttl 255"

reset_qdisc
ts_tc "$0" "Add MPLS filter matching two LSEs"                   \
	filter add dev $DEV ingress protocol mpls_uc flower mpls \
	lse depth 1 label 0 tc 0 bos 0 ttl 0                     \
	lse depth 2 label 1048575 tc 7 bos 1 ttl 255             \
	action drop
ts_tc "$0" "Show ingress filters" filter show dev $DEV ingress
test_on "mpls"
test_on "lse"
test_on "depth 1"
test_on "label 0"
test_on "tc 0"
test_on "bos 0"
test_on "ttl 0"
test_on "depth 2"
test_on "label 1048575"
test_on "tc 7"
test_on "bos 1"
test_on "ttl 255"