diff options
author | Renato Westphal <renato@cvs.openbsd.org> | 2015-07-21 04:52:30 +0000 |
---|---|---|
committer | Renato Westphal <renato@cvs.openbsd.org> | 2015-07-21 04:52:30 +0000 |
commit | a2ae921ed55c91e98ece8ee7f0b365851fb30633 (patch) | |
tree | 40369cff7366d5b45e4df63f807681b223eb63f8 /usr.sbin/ldpd/hello.c | |
parent | 6e1f964c76fe64a2e4d55765a578dbb338c18266 (diff) |
VPLS signaling support.
This patch introduces full support for pseudowire signaling in ldpd(8),
including Control Word and Status TLV negotiation.
As of now it's not possible to configure a VPWS, but the signaling is
the same. In the future, when VPWS support is available in the kernel,
ldpd(8) can be extended to support VPWS with only a few modifications.
Limitations:
* No support for FEC 129, only FEC 128 (more widely deployed);
* No support for group withdraws (not widely deployed);
* No support for MAC withdraws (not widely deployed).
Related RFCs:
* RFC 3916: Requirements for Pseudo-Wire Emulation Edge-to-Edge (PWE3)
* RFC 3985: Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture
* RFC 4385: Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Use over an MPLS PSN
* RFC 4446: IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)
* RFC 4447: Pseudowire Setup and Maintenance Using the Label Distribution
Protocol (LDP)
* RFC 4448: Encapsulation Methods for Transport of Ethernet over MPLS
Networks
* RFC 4905: Encapsulation Methods for Transport of Layer 2 Frames over
MPLS Networks
* RFC 4906: Transport of Layer 2 Frames Over MPLS
ok claudio@
Diffstat (limited to 'usr.sbin/ldpd/hello.c')
-rw-r--r-- | usr.sbin/ldpd/hello.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/ldpd/hello.c b/usr.sbin/ldpd/hello.c index 891042b0fde..1ef5b19fde3 100644 --- a/usr.sbin/ldpd/hello.c +++ b/usr.sbin/ldpd/hello.c @@ -1,4 +1,4 @@ -/* $OpenBSD: hello.c,v 1.27 2015/07/21 04:43:28 renato Exp $ */ +/* $OpenBSD: hello.c,v 1.28 2015/07/21 04:52:29 renato Exp $ */ /* * Copyright (c) 2009 Michele Marchetto <michele@openbsd.org> @@ -66,7 +66,7 @@ send_hello(enum hello_type type, struct iface *iface, struct tnbr *tnbr) dst.sin_addr.s_addr = tnbr->addr.s_addr; holdtime = tnbr->hello_holdtime; flags = TARGETED_HELLO; - if (tnbr->flags & F_TNBR_CONFIGURED) + if ((tnbr->flags & F_TNBR_CONFIGURED) || tnbr->pw_count) flags |= REQUEST_TARG_HELLO; fd = tnbr->discovery_fd; break; |