svn commit: r358585 - in head: sys/net tests/sys/netinet tests/sys/netinet6
Alexander V. Chernikov
melifaro at FreeBSD.org
Tue Mar 3 15:33:44 UTC 2020
Author: melifaro
Date: Tue Mar 3 15:33:43 2020
New Revision: 358585
URL: https://svnweb.freebsd.org/changeset/base/358585
Log:
Fix dynamic redrects by adding forgotten RTF_HOST flag.
Improve tests to verify the generated route flags.
Reported by: jtl
MFC after: 2 weeks
Modified:
head/sys/net/route.c
head/tests/sys/netinet/redirect.sh
head/tests/sys/netinet6/redirect.sh
Modified: head/sys/net/route.c
==============================================================================
--- head/sys/net/route.c Tue Mar 3 15:31:40 2020 (r358584)
+++ head/sys/net/route.c Tue Mar 3 15:33:43 2020 (r358585)
@@ -632,7 +632,7 @@ rib_add_redirect(u_int fibnum, struct sockaddr *dst, s
info.rti_info[RTAX_GATEWAY] = gateway;
info.rti_ifa = ifa;
info.rti_ifp = ifp;
- info.rti_flags = flags | RTF_DYNAMIC;
+ info.rti_flags = flags | RTF_HOST | RTF_DYNAMIC;
/* Setup route metrics to define expire time. */
bzero(&rti_rmx, sizeof(rti_rmx));
Modified: head/tests/sys/netinet/redirect.sh
==============================================================================
--- head/tests/sys/netinet/redirect.sh Tue Mar 3 15:31:40 2020 (r358584)
+++ head/tests/sys/netinet/redirect.sh Tue Mar 3 15:33:43 2020 (r358585)
@@ -92,9 +92,8 @@ valid_redirect_body() {
--route ${dst_addr4} --gw ${new_rtr_ip} \
--iface ${epair}a
- count=`jexec ${jname} route -n get -4 ${dst_addr4} | grep destination | grep -c ${dst_addr4}`
- # Verify redirect got installed
- atf_check_equal "1" "${count}"
+ atf_check -o match:"destination: ${dst_addr4}\$" jexec ${jname} route -n get -4 ${dst_addr4}
+ atf_check -o match:'flags: <UP,GATEWAY,HOST,DYNAMIC,DONE>' jexec ${jname} route -n get -4 ${dst_addr4}
}
valid_redirect_cleanup() {
Modified: head/tests/sys/netinet6/redirect.sh
==============================================================================
--- head/tests/sys/netinet6/redirect.sh Tue Mar 3 15:31:40 2020 (r358584)
+++ head/tests/sys/netinet6/redirect.sh Tue Mar 3 15:33:43 2020 (r358585)
@@ -94,9 +94,9 @@ valid_redirect_body() {
--route ${dst_addr6} --gw ${new_rtr_ll_ip} \
--iface ${epair}a
- count=`jexec ${jname} route -n get -6 ${dst_addr6} | grep destination | grep -c ${dst_addr6}`
# Verify redirect got installed
- atf_check_equal "1" "${count}"
+ atf_check -o match:"destination: ${dst_addr6}\$" jexec ${jname} route -n get -6 ${dst_addr6}
+ atf_check -o match:'flags: <UP,GATEWAY,HOST,DYNAMIC,DONE>' jexec ${jname} route -n get -6 ${dst_addr6}
}
valid_redirect_cleanup() {
More information about the svn-src-all
mailing list