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,