Module Name: src Committed By: ozaki-r Date: Wed Jun 28 04:10:47 UTC 2017
Modified Files: src/sys/net: route.c src/tests/net/arp: t_arp.sh src/tests/net/route: t_route.sh Log Message: Drop RTF_LLINFO flag (now it's RTF_LLDATA) from local routes They don't have llinfo anymore. And also the change fixes unexpected behavior of ARP proxy. To generate a diff of this commit: cvs rdiff -u -r1.196 -r1.197 src/sys/net/route.c cvs rdiff -u -r1.30 -r1.31 src/tests/net/arp/t_arp.sh cvs rdiff -u -r1.12 -r1.13 src/tests/net/route/t_route.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/route.c diff -u src/sys/net/route.c:1.196 src/sys/net/route.c:1.197 --- src/sys/net/route.c:1.196 Thu Jun 22 09:56:48 2017 +++ src/sys/net/route.c Wed Jun 28 04:10:47 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: route.c,v 1.196 2017/06/22 09:56:48 ozaki-r Exp $ */ +/* $NetBSD: route.c,v 1.197 2017/06/28 04:10:47 ozaki-r Exp $ */ /*- * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ #endif #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.196 2017/06/22 09:56:48 ozaki-r Exp $"); +__KERNEL_RCSID(0, "$NetBSD: route.c,v 1.197 2017/06/28 04:10:47 ozaki-r Exp $"); #include <sys/param.h> #ifdef RTFLUSH_DEBUG @@ -1594,8 +1594,6 @@ rt_ifa_addlocal(struct ifaddr *ifa) memset(&info, 0, sizeof(info)); info.rti_flags = RTF_HOST | RTF_LOCAL; - if (!(ifa->ifa_ifp->if_flags & (IFF_LOOPBACK|IFF_POINTOPOINT))) - info.rti_flags |= RTF_LLDATA; info.rti_info[RTAX_DST] = ifa->ifa_addr; info.rti_info[RTAX_GATEWAY] = (const struct sockaddr *)ifa->ifa_ifp->if_sadl; Index: src/tests/net/arp/t_arp.sh diff -u src/tests/net/arp/t_arp.sh:1.30 src/tests/net/arp/t_arp.sh:1.31 --- src/tests/net/arp/t_arp.sh:1.30 Mon Jun 26 06:59:57 2017 +++ src/tests/net/arp/t_arp.sh Wed Jun 28 04:10:47 2017 @@ -1,4 +1,4 @@ -# $NetBSD: t_arp.sh,v 1.30 2017/06/26 06:59:57 ozaki-r Exp $ +# $NetBSD: t_arp.sh,v 1.31 2017/06/28 04:10:47 ozaki-r Exp $ # # Copyright (c) 2015 The NetBSD Foundation, Inc. # All rights reserved. @@ -322,10 +322,12 @@ arp_cache_overwriting_body() export RUMP_SERVER=$SOCKSRC # Cannot overwrite a permanent cache - atf_check -s exit:0 rump.arp -s $IP4SRC b2:a0:20:00:00:ff + atf_check -s exit:0 rump.arp -s $IP4DST b2:a0:20:00:00:ff $DEBUG && rump.arp -n -a atf_check -s not-exit:0 -e match:'File exists' \ - rump.arp -s $IP4SRC b2:a0:20:00:00:fe + rump.arp -s $IP4DST b2:a0:20:00:00:fe + # cleanup + atf_check -s exit:0 rump.arp -d $IP4DST atf_check -s exit:0 -o ignore rump.ping -n -w $TIMEOUT -c 1 $IP4DST $DEBUG && rump.arp -n -a @@ -383,11 +385,11 @@ test_proxy_arp() if [ "$type" = "pub" ]; then opts="pub" - title="permanent published" else opts="pub proxy" - title='permanent published \(proxy only\)' fi + # Always proxy only since migrating to lltable/llentry + title='permanent published \(proxy only\)' # # Test#1: First setup an endpoint then create proxy arp entry @@ -413,26 +415,14 @@ test_proxy_arp() # Try to ping export RUMP_SERVER=$SOCKSRC - if [ "$type" = "pub" ]; then - # XXX fails - atf_check -s not-exit:0 -o ignore -e ignore \ - rump.ping -n -w 1 -c 1 $IP4DST_PROXYARP1 - else - atf_check -s exit:0 -o ignore \ - rump.ping -n -w 1 -c 1 $IP4DST_PROXYARP1 - fi + atf_check -s exit:0 -o ignore rump.ping -n -w 1 -c 1 $IP4DST_PROXYARP1 extract_new_packets bus1 > ./out $DEBUG && cat ./out pkt1=$(make_pkt_str_arprep $IP4DST_PROXYARP1 $macaddr_dst) pkt2=$(make_pkt_str_garp $IP4DST_PROXYARP1 $macaddr_dst) - if [ "$type" = "pub" ]; then - atf_check -s not-exit:0 -x \ - "cat ./out |grep -q -e '$pkt1' -e '$pkt2'" - else - atf_check -s exit:0 -x "cat ./out |grep -q -e '$pkt1' -e '$pkt2'" - fi + atf_check -s exit:0 -x "cat ./out |grep -q -e '$pkt1' -e '$pkt2'" # # Test#2: Create proxy arp entry then set up an endpoint Index: src/tests/net/route/t_route.sh diff -u src/tests/net/route/t_route.sh:1.12 src/tests/net/route/t_route.sh:1.13 --- src/tests/net/route/t_route.sh:1.12 Fri Mar 24 03:47:25 2017 +++ src/tests/net/route/t_route.sh Wed Jun 28 04:10:47 2017 @@ -1,4 +1,4 @@ -# $NetBSD: t_route.sh,v 1.12 2017/03/24 03:47:25 ozaki-r Exp $ +# $NetBSD: t_route.sh,v 1.13 2017/06/28 04:10:47 ozaki-r Exp $ # # Copyright (c) 2016 Internet Initiative Japan Inc. # All rights reserved. @@ -234,7 +234,7 @@ test_route_get() destination: 10.0.1.2 local addr: 10.0.1.2 interface: lo0 - flags: <UP,HOST,DONE,LLINFO,LOCAL> + flags: <UP,HOST,DONE,LOCAL> recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire EOF rump.route -n get $IP4SRC > ./output @@ -309,7 +309,7 @@ test_route_get6() destination: fc00:0:0:1::2 local addr: fc00:0:0:1::2 interface: lo0 - flags: <UP,HOST,DONE,LLINFO,LOCAL> + flags: <UP,HOST,DONE,LOCAL> recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire EOF rump.route -n get -inet6 $IP6SRC > ./output