File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed
tools/testing/selftests/net/forwarding Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 18
18
# | 2001:db8:1::1/64 2001:db8:2::1/64 |
19
19
# | |
20
20
# +-----------------------------------------------------------------+
21
+ #
22
+ # shellcheck disable=SC2034 # SC doesn't see our uses of global variables
21
23
22
24
ALL_TESTS="
23
25
ping_ipv4
@@ -27,6 +29,7 @@ ALL_TESTS="
27
29
ipv4_sip_equal_dip
28
30
ipv6_sip_equal_dip
29
31
ipv4_dip_link_local
32
+ ipv4_sip_link_local
30
33
"
31
34
32
35
NUM_NETIFS=4
@@ -330,6 +333,32 @@ ipv4_dip_link_local()
330
333
tc filter del dev $rp2 egress protocol ip pref 1 handle 101 flower
331
334
}
332
335
336
+ ipv4_sip_link_local ()
337
+ {
338
+ local sip=169.254.1.1
339
+
340
+ RET=0
341
+
342
+ # Disable rpfilter to prevent packets to be dropped because of it.
343
+ sysctl_set net.ipv4.conf.all.rp_filter 0
344
+ sysctl_set net.ipv4.conf." $rp1 " .rp_filter 0
345
+
346
+ tc filter add dev " $rp2 " egress protocol ip pref 1 handle 101 \
347
+ flower src_ip " $sip " action pass
348
+
349
+ $MZ " $h1 " -t udp " sp=54321,dp=12345" -c 5 -d 1msec -b " $rp1mac " \
350
+ -A " $sip " -B 198.51.100.2 -q
351
+
352
+ tc_check_packets " dev $rp2 egress" 101 5
353
+ check_err $? " Packets were dropped"
354
+
355
+ log_test " IPv4 source IP is link-local"
356
+
357
+ tc filter del dev " $rp2 " egress protocol ip pref 1 handle 101 flower
358
+ sysctl_restore net.ipv4.conf." $rp1 " .rp_filter
359
+ sysctl_restore net.ipv4.conf.all.rp_filter
360
+ }
361
+
333
362
trap cleanup EXIT
334
363
335
364
setup_prepare
You can’t perform that action at this time.
0 commit comments