Module Name:    src
Committed By:   kefren
Date:           Tue Nov 13 06:58:59 UTC 2012

Modified Files:
        src/usr.sbin/ldpd: socketops.c

Log Message:
Use local-link address as source for hellos


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/ldpd/socketops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/ldpd/socketops.c
diff -u src/usr.sbin/ldpd/socketops.c:1.14 src/usr.sbin/ldpd/socketops.c:1.15
--- src/usr.sbin/ldpd/socketops.c:1.14	Tue Nov 13 01:08:51 2012
+++ src/usr.sbin/ldpd/socketops.c	Tue Nov 13 06:58:58 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: socketops.c,v 1.14 2012/11/13 01:08:51 pgoyette Exp $ */
+/* $NetBSD: socketops.c,v 1.15 2012/11/13 06:58:58 kefren Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -468,6 +468,14 @@ send_hello(void)
 			continue;
 		if (IN6_IS_ADDR_LOOPBACK(&if_sa6->sin6_addr))
 			continue;
+		/*
+		 * draft-ietf-mpls-ldp-ipv6-07 Section 5.1:
+		 * Additionally, the link-local
+		 * IPv6 address MUST be used as the source IP address in IPv6
+		 * LDP Link Hellos.
+		 */
+		if (IN6_IS_ADDR_LINKLOCAL(&if_sa6->sin6_addr) == 0)
+			continue;
 
 		/* Send only once per interface, using primary address */
 		if (strcmp(ifb->ifa_name, lastifname) == 0)

Reply via email to