diff options
author | 2016-02-21 18:39:08 +0000 | |
---|---|---|
committer | 2016-02-21 18:39:08 +0000 | |
commit | 3d32bb37dce8a04adb39412aeb1406d84bdea6fc (patch) | |
tree | e9e79244cc1bd29291066478f1892d4df5660d1b | |
parent | Make eigrpd work against newer IOS routers. (diff) | |
download | wireguard-openbsd-3d32bb37dce8a04adb39412aeb1406d84bdea6fc.tar.xz wireguard-openbsd-3d32bb37dce8a04adb39412aeb1406d84bdea6fc.zip |
Add scope id only for unicast IPv6 packets.
-rw-r--r-- | usr.sbin/eigrpd/packet.c | 8 |
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)) |