Commit 5760711e authored by Ido Schimmel's avatar Ido Schimmel Committed by Paolo Abeni
Browse files

selftests: fib_rule_tests: Add flow label selector match tests



Add tests for the new FIB rule flow label selector. Test both good and bad
flows and with both input and output routes.

 # ./fib_rule_tests.sh
 IPv6 FIB rule tests
 [...]
    TEST: rule6 check: flowlabel redirect to table                      [ OK ]
    TEST: rule6 check: flowlabel no redirect to table                   [ OK ]
    TEST: rule6 del by pref: flowlabel redirect to table                [ OK ]
    TEST: rule6 check: iif flowlabel redirect to table                  [ OK ]
    TEST: rule6 check: iif flowlabel no redirect to table               [ OK ]
    TEST: rule6 del by pref: iif flowlabel redirect to table            [ OK ]
    TEST: rule6 check: flowlabel masked redirect to table               [ OK ]
    TEST: rule6 check: flowlabel masked no redirect to table            [ OK ]
    TEST: rule6 del by pref: flowlabel masked redirect to table         [ OK ]
    TEST: rule6 check: iif flowlabel masked redirect to table           [ OK ]
    TEST: rule6 check: iif flowlabel masked no redirect to table        [ OK ]
    TEST: rule6 del by pref: iif flowlabel masked redirect to table     [ OK ]
 [...]

 Tests passed: 268
 Tests failed:   0

Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Reviewed-by: default avatarGuillaume Nault <gnault@redhat.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 002bf68a
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -291,6 +291,37 @@ fib_rule6_test()
			"$getnomatch" "iif dscp redirect to table" \
			"iif dscp no redirect to table"
	fi

	fib_check_iproute_support "flowlabel" "flowlabel"
	if [ $? -eq 0 ]; then
		match="flowlabel 0xfffff"
		getmatch="flowlabel 0xfffff"
		getnomatch="flowlabel 0xf"
		fib_rule6_test_match_n_redirect "$match" "$getmatch" \
			"$getnomatch" "flowlabel redirect to table" \
			"flowlabel no redirect to table"

		match="flowlabel 0xfffff"
		getmatch="from $SRC_IP6 iif $DEV flowlabel 0xfffff"
		getnomatch="from $SRC_IP6 iif $DEV flowlabel 0xf"
		fib_rule6_test_match_n_redirect "$match" "$getmatch" \
			"$getnomatch" "iif flowlabel redirect to table" \
			"iif flowlabel no redirect to table"

		match="flowlabel 0x08000/0x08000"
		getmatch="flowlabel 0xfffff"
		getnomatch="flowlabel 0xf7fff"
		fib_rule6_test_match_n_redirect "$match" "$getmatch" \
			"$getnomatch" "flowlabel masked redirect to table" \
			"flowlabel masked no redirect to table"

		match="flowlabel 0x08000/0x08000"
		getmatch="from $SRC_IP6 iif $DEV flowlabel 0xfffff"
		getnomatch="from $SRC_IP6 iif $DEV flowlabel 0xf7fff"
		fib_rule6_test_match_n_redirect "$match" "$getmatch" \
			"$getnomatch" "iif flowlabel masked redirect to table" \
			"iif flowlabel masked no redirect to table"
	fi
}

fib_rule6_vrf_test()