Module Name:    src
Committed By:   kefren
Date:           Thu Feb 10 12:44:41 UTC 2011

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

Log Message:
stop processing a label mapping message if we don't have a route for it.
This way we avoid failing an assert later in mpls_add_label()


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/ldpd/tlv_stack.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/tlv_stack.c
diff -u src/usr.sbin/ldpd/tlv_stack.c:1.2 src/usr.sbin/ldpd/tlv_stack.c:1.3
--- src/usr.sbin/ldpd/tlv_stack.c:1.2	Thu Dec  9 00:10:59 2010
+++ src/usr.sbin/ldpd/tlv_stack.c	Thu Feb 10 12:44:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: tlv_stack.c,v 1.2 2010/12/09 00:10:59 christos Exp $ */
+/* $NetBSD: tlv_stack.c,v 1.3 2011/02/10 12:44:41 kefren Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -109,6 +109,11 @@
 			memcpy(&inatmp, &pref->prefix, ldp_ceil8(pref->prelen));
 			debugp("Prefix/Host add: %s/%d\n", inet_ntoa(inatmp),
 			    pref->prelen);
+
+			/* don't bother if we don't have a label/route */
+			if (label_get_by_prefix(&inatmp, pref->prelen) == NULL)
+				break;
+
 			ldp_peer_add_mapping(p, &inatmp, pref->prelen,
 			    ntohl(l->label));
 			mpls_add_label(p, NULL, &inatmp, pref->prelen,

Reply via email to