summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrenato <renato@openbsd.org>2016-02-21 18:39:08 +0000
committerrenato <renato@openbsd.org>2016-02-21 18:39:08 +0000
commit3d32bb37dce8a04adb39412aeb1406d84bdea6fc (patch)
treee9e79244cc1bd29291066478f1892d4df5660d1b
parentMake eigrpd work against newer IOS routers. (diff)
downloadwireguard-openbsd-3d32bb37dce8a04adb39412aeb1406d84bdea6fc.tar.xz
wireguard-openbsd-3d32bb37dce8a04adb39412aeb1406d84bdea6fc.zip
Add scope id only for unicast IPv6 packets.
-rw-r--r--usr.sbin/eigrpd/packet.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/eigrpd/packet.c b/usr.sbin/eigrpd/packet.c
index 58c7220f68e..2db339bd1c1 100644
--- a/usr.sbin/eigrpd/packet.c
+++ b/usr.sbin/eigrpd/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.8 2016/01/15 12:43:02 renato Exp $ */
+/* $OpenBSD: packet.c,v 1.9 2016/02/21 18:39:08 renato Exp $ */
/*
* Copyright (c) 2015 Renato Westphal <renato@openbsd.org>
@@ -124,11 +124,11 @@ send_packet_v6(struct iface *iface, struct nbr *nbr, struct ibuf *buf)
memset(&sa6, 0, sizeof(sa6));
sa6.sin6_family = AF_INET6;
sa6.sin6_len = sizeof(struct sockaddr_in6);
- if (nbr)
+ if (nbr) {
sa6.sin6_addr = nbr->addr.v6;
- else
+ addscope(&sa6, iface->ifindex);
+ } else
memcpy(&sa6.sin6_addr, &maddr, sizeof(sa6.sin6_addr));
- addscope(&sa6, iface->ifindex);
/* set outgoing interface for multicast traffic */
if (IN6_IS_ADDR_MULTICAST(&sa6.sin6_addr))