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

Reply via email to