CVSROOT:        /cvs
Module name:    src
Changes by:     ren...@cvs.openbsd.org  2016/06/08 15:28:09

Modified files:
        usr.sbin/ldpd  : init.c 

Log message:
Add one more safety check for Initialization messages.

RFC 5036 says the following about the "Receiver LDP Identifier" field:
"Identifies the receiver's label space.  This LDP Identifier, together
with the sender's LDP Identifier in the PDU header, enables the receiver
to match the Initialization message with one of its Hello adjacencies;

If there is no matching Hello adjacency, the LSR MUST send a Session
Rejected/No Hello Notification message in response to the Initialization
message and not establish the session".

This is one more case of LDP being more complex than what it should have
been.  Since LDP support MPLS label spaces (for ATM and FR), just the
sender's LSR-ID in the PDU header is not enough for identifying an Hello
adjacency. We also need the receiver's label space, and that's what this
field gives us. In fact, this field contains the full receiver's LSR-ID,
but the IP part doesn't really matter.

Since we don't support label spaces (and never will), we were happily
ignoring this field. This patch changes this to fix some errors with ANVL.

Fixes the following ANVL LDP tests: 6.5, 6.6 and 6.11.

Reply via email to