Up to [local] / src / usr.sbin / ldpd
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.28 / (download) - annotate - [select for diffs], Wed Jan 23 02:02:04 2019 UTC (5 years, 4 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE,
OPENBSD_7_5,
OPENBSD_7_4_BASE,
OPENBSD_7_4,
OPENBSD_7_3_BASE,
OPENBSD_7_3,
OPENBSD_7_2_BASE,
OPENBSD_7_2,
OPENBSD_7_1_BASE,
OPENBSD_7_1,
OPENBSD_7_0_BASE,
OPENBSD_7_0,
OPENBSD_6_9_BASE,
OPENBSD_6_9,
OPENBSD_6_8_BASE,
OPENBSD_6_8,
OPENBSD_6_7_BASE,
OPENBSD_6_7,
OPENBSD_6_6_BASE,
OPENBSD_6_6,
OPENBSD_6_5_BASE,
OPENBSD_6_5,
HEAD
Changes since 1.27: +32 -4 lines
Diff to previous 1.27 (colored)
rework how tcp md5 signatures are configured. previously ldpd only allowed tcp md5 to be configured against a neighbor (by ldp router id), but other vendors supported configuring tcp md5sig by prefix as well as neighbor. this reworks the config so auth is maintained globally as a list of prefixes that you do and do not want to do tcp md5sig auth with. the config statements look more like what is in bgpd.conf now too. an example of the new config for interoperating with my baby cisco test network: on ios: mpls ldp password required for MPLS mpls ldp password option 1 for MPLS key-chain LDPAUTH key chain LDPAUTH key 1 key-string secret interface Loopback0 ip address 192.168.0.0 255.255.255.255 end ip prefix-list MPLS seq 5 permit 192.168.0.0/24 ip access-list standard MPLS mpls ldp router-id Loopback0 force and in ldpd.conf: router-id 192.168.0.25 tcp md5sig password secret 192.168.0.0/24 address-family ipv4 { interface vmx1 } this still supports specifying tcp md5sig on neighbors, but that is syntactic sugar around adding entries to the list of auths. ok (and lots of help from) claudio@
Revision 1.27 / (download) - annotate - [select for diffs], Fri Mar 3 23:36:06 2017 UTC (7 years, 3 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE,
OPENBSD_6_4,
OPENBSD_6_3_BASE,
OPENBSD_6_3,
OPENBSD_6_2_BASE,
OPENBSD_6_2,
OPENBSD_6_1_BASE,
OPENBSD_6_1
Changes since 1.26: +2 -1 lines
Diff to previous 1.26 (colored)
Allow to run on a non-default rdomain. OK claudio@
Revision 1.26 / (download) - annotate - [select for diffs], Fri Jul 1 23:14:31 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE,
OPENBSD_6_0
Changes since 1.25: +16 -1 lines
Diff to previous 1.25 (colored)
Add GTSM support (RFC 6720). This also finishes the missing bits from our RFC 7552 implementation because GTSM is mandatory for LDPv6. To avoid any kind of interoperability problems, I included a few knobs to enable/disable GTSM on a per-address-family and per-neighbor basis. Cisco's LDPv6 implementation, for instance, doesn't support GTSM. "reads good" claudio@
Revision 1.25 / (download) - annotate - [select for diffs], Mon May 23 19:14:03 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.24: +3 -1 lines
Diff to previous 1.24 (colored)
Update copyright information.
Revision 1.24 / (download) - annotate - [select for diffs], Mon May 23 19:11:42 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.23: +1 -6 lines
Diff to previous 1.23 (colored)
Remove superfluous includes.
Revision 1.23 / (download) - annotate - [select for diffs], Mon May 23 19:09:25 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.22: +15 -15 lines
Diff to previous 1.22 (colored)
Make functions and variables static whenever possible. The benefits of this include: * clean up of the ldpd global namespace; * improved readability; * more hints to the compiler/linker to generate more efficient code. Whenever possible, move global static variables to a smaller scope (function). All extern variables are now declared in header files to avoid unnecessary duplication. This patch also cleans up the indentation of all function prototypes and global variables.
Revision 1.22 / (download) - annotate - [select for diffs], Mon May 23 18:58:48 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.21: +60 -28 lines
Diff to previous 1.21 (colored)
Add support for IPv6 (RFC 7552). This includes: * Full compliance to RFC 7552; * Support for MD5 on LDPov6 sessions; * Support for pseudowires over IPv6 LSPs (we're probably the world's first implementation doing this); * Support for the IPv6 explicit-null label; * Knob to specify the prefered address-family for TCP transport connections; * Knob to use cisco non-compliant format to send and interpret the Dual-Stack capability TLV.
Revision 1.21 / (download) - annotate - [select for diffs], Mon May 23 18:55:21 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.20: +10 -1 lines
Diff to previous 1.20 (colored)
Assorted fixes and small cleanup. Nothing really interesting here.
Revision 1.20 / (download) - annotate - [select for diffs], Mon May 23 18:54:10 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.19: +6 -8 lines
Diff to previous 1.19 (colored)
Remove redundant new lines in print_config().
Revision 1.19 / (download) - annotate - [select for diffs], Mon May 23 17:43:42 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.18: +8 -3 lines
Diff to previous 1.18 (colored)
Fix mess caused by my commit script. I screwed up everything... trying to fix now.
Revision 1.18 / (download) - annotate - [select for diffs], Mon May 23 16:54:22 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)
Rework L2VPN code.
Revision 1.17 / (download) - annotate - [select for diffs], Mon May 23 16:35:37 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.16: +3 -5 lines
Diff to previous 1.16 (colored)
Do not accept incomplete pseudowires in the configuration. There's no point on keeping in the config something that can not be used, it just adds unnecessary complexity. Also, it's better to warn the user that there's something wrong rather than play nice and ignore the problem.
Revision 1.16 / (download) - annotate - [select for diffs], Mon May 23 16:18:51 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)
Make neighbor parameters per lsr-id not per transport-address. With the advent of IPv6 support, a single neighbor can have two different transport-addresses: one for ipv4 and one for ipv6. In order to define neighbor-specific parameters in an indistinguishable way, define them by lsr-id. This way we can switch between LDPov4 and LDPov6 and keep the same configuration.
Revision 1.15 / (download) - annotate - [select for diffs], Mon May 23 16:14:37 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)
More renaming. Rename a few more things to improve readability. * s/F_PW_CONTROLWORD_CONF/F_PW_CWORD_CONF/ (shorter) * s/F_PW_CONTROLWORD/F_PW_CWORD/ (shorter) * s/LDPD_FLAG_*/F_LDPD_*/ (consistency) * s/lde_nbr_address/lde_addr/ (shorter) * s/ldp_discovery_socket/ldp_disc_socket/ (shorter) * s/ldp_ediscovery_socket/ldp_edisc_socket/ (shorter) * s/ldp_sendboth/main_imsg_compose_both/ (consistency) * s/cons/total/ (makes more sense) * s/kaddr/ka/ (consistency with remaining code) * Always use 'ln' for lde_nbrs (consistency)
Revision 1.14 / (download) - annotate - [select for diffs], Mon May 23 15:47:24 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.13: +20 -20 lines
Diff to previous 1.13 (colored)
Move some code around. This patch doesn't introduce any logical change.
Revision 1.13 / (download) - annotate - [select for diffs], Mon May 23 15:43:11 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored)
Add knob to configure the transport address. This will be especially important when we add support for IPv6, because we'll not be able to use the router-id as the transport-address in this case.
Revision 1.12 / (download) - annotate - [select for diffs], Mon May 23 15:41:04 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.11: +3 -1 lines
Diff to previous 1.11 (colored)
Allow setting the session holdtime per neighbor.
Revision 1.11 / (download) - annotate - [select for diffs], Tue Jul 21 04:52:29 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE,
OPENBSD_5_9,
OPENBSD_5_8_BASE,
OPENBSD_5_8
Changes since 1.10: +48 -1 lines
Diff to previous 1.10 (colored)
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@
Revision 1.10 / (download) - annotate - [select for diffs], Tue Jul 21 04:40:56 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)
Assorted fixes and code cleanup for targeted neighbors. ok claudio@
Revision 1.9 / (download) - annotate - [select for diffs], Sun Jul 19 21:01:56 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.8: +18 -4 lines
Diff to previous 1.8 (colored)
Implement md5 authentication support. ok claudio@
Revision 1.8 / (download) - annotate - [select for diffs], Sun Jul 19 20:50:03 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.7: +1 -16 lines
Diff to previous 1.7 (colored)
Remove incomplete support for unnecessary modes of operation. LDP has several modes of operation, it was designed in that way so it could run on legacy equipment like ATM/FR switches with very strict memory limitations. For modern hardware there's no point on using either the "Conservative Label Retention" or "Downstream On Demand" modes of operation since they save memory at cost of blackholing traffic when routing changes. Major vendors implement only the "Liberal Label Retention" and "Downstream Unsolicited" modes for non ATM/FR hardware. Let's do that too. As for using either "Independent Control" or "Ordered Control", let's stick with the first option mainly because it's easier to implement and because it doesn't really matter which control mode is used. For reference, Cisco implements only "Independent Control" and Juniper only "Ordered Control". Both modes are interoperable. The point of supporting only one combination of all modes of operation is that it will allow for the writing of a simpler code without removing useful functionality. ok claudio@
Revision 1.7 / (download) - annotate - [select for diffs], Tue Jun 4 02:25:28 2013 UTC (11 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE,
OPENBSD_5_7,
OPENBSD_5_6_BASE,
OPENBSD_5_6,
OPENBSD_5_5_BASE,
OPENBSD_5_5,
OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.6: +23 -5 lines
Diff to previous 1.6 (colored)
Implement support for adjacencies and targeted hellos Refactor adjacencies out of the neighbor handling so that it is possible to have more complex topologies with targeted sessions. From Renato Westphal
Revision 1.6 / (download) - annotate - [select for diffs], Mon Jun 3 16:58:14 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.5: +6 -1 lines
Diff to previous 1.5 (colored)
Fix bug in the fib-update command The "fib-update" directive wasn't accepting "no" as an option. Diff by Renato Westphal
Revision 1.5 / (download) - annotate - [select for diffs], Sat Jun 1 19:28:55 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)
The keepalive timeout should be configured on a global basis and not per interface. Remove the iface pointer from the 'nbr' structure because it's not needed anymore. Diff from Renato Westphal
Revision 1.4 / (download) - annotate - [select for diffs], Sat Jun 1 18:35:02 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored)
Drop support for passive interfaces. Support for passive interfaces was inherited from ospfd but it doesn't make any sense at all for ldpd. Diff from Renato Westphal
Revision 1.3 / (download) - annotate - [select for diffs], Tue May 25 13:29:45 2010 UTC (14 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3,
OPENBSD_5_2_BASE,
OPENBSD_5_2,
OPENBSD_5_1_BASE,
OPENBSD_5_1,
OPENBSD_5_0_BASE,
OPENBSD_5_0,
OPENBSD_4_9_BASE,
OPENBSD_4_9,
OPENBSD_4_8_BASE,
OPENBSD_4_8
Changes since 1.2: +1 -13 lines
Diff to previous 1.2 (colored)
Remove another leftover from ospfd. ldpd does not have a concept of ext_tag and so there is no need to carry ext_tag and rtlabels around. "Yes! kill kill kill" michele@
Revision 1.2 / (download) - annotate - [select for diffs], Thu Feb 18 15:27:31 2010 UTC (14 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.1: +12 -17 lines
Diff to previous 1.1 (colored)
Make the output of printconf() look like a real config file. OK michele@
Revision 1.1 / (download) - annotate - [select for diffs], Mon Jun 1 20:59:45 2009 UTC (15 years ago) by michele
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6
Welcome ldpd, the Label Distribution Protocol daemon. Built using the imsg/three process framework, its main aim is to redistribute MPLS labels between peers. Right now it has some really basic functionalities, the basic protocol works and peers are able to exchange labels and insert them in the kernel. It still does not react to changes of topology. Not yet connected to the builds. ok claudio@ deraadt@