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