OpenBSD CVS

CVS log for src/usr.sbin/ldpd/ldpd.c


[BACK] Up to [local] / src / usr.sbin / ldpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.69 / (download) - annotate - [select for diffs], Wed Mar 8 04:43:13 2023 UTC (14 months, 3 weeks ago) by guenther
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, HEAD
Changes since 1.68: +1 -4 lines
Diff to previous 1.68 (colored)

Delete obsolete /* ARGSUSED */ lint comments.

ok miod@ millert@

Revision 1.68 / (download) - annotate - [select for diffs], Mon Sep 6 13:32:18 2021 UTC (2 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

repair missing paths on unveil failure

Revision 1.67 / (download) - annotate - [select for diffs], Mon Mar 1 09:50:40 2021 UTC (3 years, 3 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

allocate enough space in start_child() argv for all possible flags
ok claudio@

Revision 1.66 / (download) - annotate - [select for diffs], Tue Jan 19 15:23:25 2021 UTC (3 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.65: +3 -2 lines
Diff to previous 1.65 (colored)

Kill log_procnames and properly define ldpd_process.

Revision 1.65 / (download) - annotate - [select for diffs], Sat Aug 10 01:30:53 2019 UTC (4 years, 9 months ago) by mestre
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.64: +6 -1 lines
Diff to previous 1.64 (colored)

Like we did on other daemons that cannot be pledged due to forbidden ioctls the
main process can be unveiled to restrict filesystem access. In this case we can
restrict it to only read, although it must be the entire / since the daemon is
able to include config files from anywhere.

Additionally the ldpe process currently has cpath promise to unlink the socket,
nevertheless the socket is actually unlinked from the main proc so this
permission can be removed. As we discussed before, leaving the socket behind
doesn't do any harm that's why I didn't unveil it in the main proc.

OK deraadt@

Revision 1.64 / (download) - annotate - [select for diffs], Sun Mar 31 03:36:18 2019 UTC (5 years, 2 months ago) by yasuoka
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.63: +6 -2 lines
Diff to previous 1.63 (colored)

Avoid calling dup2(oldd, newd) when oldd == newd.  In that case the
descriptor keeps CLOEXEC flag then it will be closed unexpectedly by
exec().

ok tedu florian

Revision 1.63 / (download) - annotate - [select for diffs], Wed Jan 23 02:02:04 2019 UTC (5 years, 4 months ago) by dlg
Branch: MAIN
Changes since 1.62: +70 -10 lines
Diff to previous 1.62 (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.62 / (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.61: +7 -4 lines
Diff to previous 1.61 (colored)

Allow to run on a non-default rdomain.

OK claudio@

Revision 1.61 / (download) - annotate - [select for diffs], Fri Mar 3 23:30:57 2017 UTC (7 years, 3 months ago) by renato
Branch: MAIN
Changes since 1.60: +22 -9 lines
Diff to previous 1.60 (colored)

Allow to specify an alternate control socket.

This is required to run multiple instances of ldpd.

OK claudio@

Revision 1.60 / (download) - annotate - [select for diffs], Fri Jan 20 12:19:18 2017 UTC (7 years, 4 months ago) by benno
Branch: MAIN
Changes since 1.59: +2 -1 lines
Diff to previous 1.59 (colored)

work on making log.c similar in all daemons:

move daemon-local functions into new logmsg.c, and reduce
the (mostly whitespace) differences so that log.c's can be diffed easily.

removal of log_rtmsg() aproved by claudio@

ok claudio@ krw@

Revision 1.59 / (download) - annotate - [select for diffs], Wed Sep 28 14:39:52 2016 UTC (7 years, 8 months ago) by krw
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

'unneded stuff' -> 'unneeded stuff' in comments.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Sep 2 17:03:24 2016 UTC (7 years, 9 months ago) by renato
Branch: MAIN
Changes since 1.57: +23 -59 lines
Diff to previous 1.57 (colored)

Simplify shutdown process.

On shutdown, there's no need to use kill(2) to kill the child
processes. Just closing the IPC sockets will make the children receive
an EOF, break out from the event loop and then exit.

Tha advantages of this "pipe teardown" are:
* simpler code;
* no need to pledge "proc" in the parent process;
* removal of a (hard to trigger) PID reuse race condition.

ok claudio@

Revision 1.57 / (download) - annotate - [select for diffs], Fri Jul 15 17:03:10 2016 UTC (7 years, 10 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.56: +3 -1 lines
Diff to previous 1.56 (colored)

Update per-neighbor GTSM options on config reload.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Jul 1 23:29:55 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.55: +3 -4 lines
Diff to previous 1.55 (colored)

Several minor tweaks.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Jul 1 23:14:31 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.54: +21 -5 lines
Diff to previous 1.54 (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.54 / (download) - annotate - [select for diffs], Sat Jun 18 17:13:05 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.53: +3 -4 lines
Diff to previous 1.53 (colored)

Fix memory leak found with valgrind.

Revision 1.53 / (download) - annotate - [select for diffs], Sat Jun 18 01:30:28 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.52: +5 -5 lines
Diff to previous 1.52 (colored)

Use log_warnx() instead of log_warn() when appropriate.

Revision 1.52 / (download) - annotate - [select for diffs], Mon Jun 13 20:15:58 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.51: +5 -3 lines
Diff to previous 1.51 (colored)

Do not create sockets for disabled address-families.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Jun 8 23:30:07 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.50: +1 -18 lines
Diff to previous 1.50 (colored)

Fix quick reconnect when the transport address is changed.

When the transport address is changed, we can't try to reconnect to the
neighbors inside merge_af() because the ldpe process still didn't receive
the new network sockets from the parent at this point. To resolve this,
try to reconnect just after we receive these sockets.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Jun 6 16:42:41 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

Fix imsg parameter passing

When ldpe requests new network sockets to the parent process (after the
transport-address is changed), it must specify the desired address-family
(IPv4 or IPv6). We can use the 'pid' or 'peerid' members of the imsg_hdr
structure for this. Use 'pid' for convenience (no need to extend the
wrapper function, ldpe_imsg_compose_parent()).

Revision 1.49 / (download) - annotate - [select for diffs], Mon Jun 6 15:30:59 2016 UTC (7 years, 11 months ago) by renato
Branch: MAIN
Changes since 1.48: +9 -2 lines
Diff to previous 1.48 (colored)

Speed up session establishment after config reload.

If we change a neighbor's password or the global transport-address,
cancel the affected pending connects and, when playing the active role
of the session establishment process, try to connect again right away
with the new password and/or transport-address.

Without this patch we have to wait for the timeout of the pending
connects, which might be a lot of time.

Revision 1.48 / (download) - annotate - [select for diffs], Mon May 23 19:16:00 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.47: +137 -29 lines
Diff to previous 1.47 (colored)

Improve security by calling exec after fork.

For each child process (lde and ldpe), re-exec ldpd with a special
"per-role" getopt flag. This way we have seperate ASLR/cookies per
process.

Based on a similar patch for bgpd, from claudio@

Requested by deraadt@

Revision 1.47 / (download) - annotate - [select for diffs], Mon May 23 19:14:03 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.46: +2 -1 lines
Diff to previous 1.46 (colored)

Update copyright information.

Revision 1.46 / (download) - annotate - [select for diffs], Mon May 23 19:11:42 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.45: +2 -14 lines
Diff to previous 1.45 (colored)

Remove superfluous includes.

Revision 1.45 / (download) - annotate - [select for diffs], Mon May 23 19:09:25 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.44: +52 -54 lines
Diff to previous 1.44 (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.44 / (download) - annotate - [select for diffs], Mon May 23 18:58:48 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.43: +122 -44 lines
Diff to previous 1.43 (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.43 / (download) - annotate - [select for diffs], Mon May 23 18:55:21 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.42: +13 -12 lines
Diff to previous 1.42 (colored)

Assorted fixes and small cleanup.

Nothing really interesting here.

Revision 1.42 / (download) - annotate - [select for diffs], Mon May 23 18:41:59 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.41: +14 -2 lines
Diff to previous 1.41 (colored)

Enable changing the router-id via config reload.

Now ldpd can start without a router-id, since it can be set later. Since
a router-id of 0.0.0.0 is invalid, interfaces and targeted-neighbors
will check for a valid router-id in order to be activated.

When the router-id is changed, all the neighborships are reset.

Revision 1.41 / (download) - annotate - [select for diffs], Mon May 23 18:40:15 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.40: +126 -52 lines
Diff to previous 1.40 (colored)

Several fixes in the config reload handling.

Revision 1.40 / (download) - annotate - [select for diffs], Mon May 23 18:36:55 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.39: +6 -7 lines
Diff to previous 1.39 (colored)

Don't create l2vpn targeted neighbors inside the config parser.

When removing a configured pseudowire, we remove the associated tnbr
in ldpe_l2vpn_pw_exit(). So, when a new pseudowire is configured, it
makes sense to create its tnbr in ldpe_l2vpn_pw_init() to keep things
consistent.

Revision 1.39 / (download) - annotate - [select for diffs], Mon May 23 18:33:56 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.38: +34 -4 lines
Diff to previous 1.38 (colored)

Create network sockets on the parent process.

We drop our privileges in ldpe right after we create the network sockets.
The problem is that we might want to change the transport-address and
reload the config, in which case we need new sockets. To allow that,
always create the network sockets in the parent process and pass them
to ldpe via imsg.

Revision 1.38 / (download) - annotate - [select for diffs], Mon May 23 18:28:22 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored)

Copy structs by assignment instead of memcpy.

Copying by straight assignment is shorter, easier to read and has a
higher level of abstraction. We'll only avoid it when copying from an
unaligned source (e.g., network buffers).

In addition, copy in_addr structs directly.

Revision 1.37 / (download) - annotate - [select for diffs], Mon May 23 17:43:42 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.36: +65 -34 lines
Diff to previous 1.36 (colored)

Fix mess caused by my commit script.

I screwed up everything... trying to fix now.

Revision 1.36 / (download) - annotate - [select for diffs], Mon May 23 16:54:22 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.35: +3 -3 lines
Diff to previous 1.35 (colored)

Rework L2VPN code.

Revision 1.35 / (download) - annotate - [select for diffs], Mon May 23 16:18:51 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (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.34 / (download) - annotate - [select for diffs], Mon May 23 16:14:36 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.33: +14 -13 lines
Diff to previous 1.33 (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.33 / (download) - annotate - [select for diffs], Mon May 23 15:55:45 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.32: +22 -8 lines
Diff to previous 1.32 (colored)

Split merge_config() into smaller functions to improve readability.

The merge code will get bigger when we introduce IPv6 support, so we
better prepare the ground for it.

Revision 1.32 / (download) - annotate - [select for diffs], Mon May 23 15:47:24 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.31: +11 -1 lines
Diff to previous 1.31 (colored)

Move some code around.

This patch doesn't introduce any logical change.

Revision 1.31 / (download) - annotate - [select for diffs], Mon May 23 15:43:11 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.30: +2 -1 lines
Diff to previous 1.30 (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.30 / (download) - annotate - [select for diffs], Mon May 23 15:41:04 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.29: +2 -1 lines
Diff to previous 1.29 (colored)

Allow setting the session holdtime per neighbor.

Revision 1.29 / (download) - annotate - [select for diffs], Mon May 23 15:14:07 2016 UTC (8 years ago) by renato
Branch: MAIN
Changes since 1.28: +5 -7 lines
Diff to previous 1.28 (colored)

Replace manually written function names with __func__.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Feb 2 17:51:11 2016 UTC (8 years, 4 months ago) by sthen
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.27: +1 -4 lines
Diff to previous 1.27 (colored)

Remove setproctitle() for the parent process. Because rc.d(8) uses process
titles (including flags) to distinguish between daemons, this makes it
possible to manage multiple copies of a daemon using the normal infrastructure
by symlinking rc.d scripts to a new name. ok jung@ ajacoutot@, smtpd ok gilles@

Revision 1.27 / (download) - annotate - [select for diffs], Sat Dec 5 13:11:48 2015 UTC (8 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

EAGAIN handling for imsg_read. OK henning@ benno@

Revision 1.26 / (download) - annotate - [select for diffs], Tue Jul 21 05:04:12 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.25: +1 -2 lines
Diff to previous 1.25 (colored)

Call control_cleanup() from the ldpe process, where it belongs.

ok claudio@

Revision 1.25 / (download) - annotate - [select for diffs], Tue Jul 21 04:52:29 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.24: +189 -1 lines
Diff to previous 1.24 (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.24 / (download) - annotate - [select for diffs], Tue Jul 21 04:45:21 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.23: +19 -2 lines
Diff to previous 1.23 (colored)

Reuse merge_config() logic to simplify the shutdown of each process.

ok claudio@

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jul 21 04:43:28 2015 UTC (8 years, 10 months ago) by renato
Branch: MAIN
Changes since 1.22: +129 -160 lines
Diff to previous 1.22 (colored)

Add configuration reload support.

ok claudio@

Revision 1.22 / (download) - annotate - [select for diffs], Mon Feb 9 11:54:24 2015 UTC (9 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.21: +7 -11 lines
Diff to previous 1.21 (colored)

More SOCK_NONBLOCK | SOCK_CLOEXEC love and one less session_socket_blockmode

Revision 1.21 / (download) - annotate - [select for diffs], Fri Jan 16 06:40:17 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.20: +1 -2 lines
Diff to previous 1.20 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.20 / (download) - annotate - [select for diffs], Sat Jul 12 20:16:38 2014 UTC (9 years, 10 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.19: +7 -3 lines
Diff to previous 1.19 (colored)

Close connections when msgbuf_write() returns 0.

ok claudio@

Revision 1.19 / (download) - annotate - [select for diffs], Tue Nov 26 11:59:38 2013 UTC (10 years, 6 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.18: +2 -2 lines
Diff to previous 1.18 (colored)

deal with msgbuf_write EAGAIN, ok gilles benno

Revision 1.18 / (download) - annotate - [select for diffs], Tue Oct 15 20:21:25 2013 UTC (10 years, 7 months ago) by renato
Branch: MAIN
Changes since 1.17: +1 -2 lines
Diff to previous 1.17 (colored)

Fix whitespace and other style issues.
OK claudio@

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jun 4 02:25:28 2013 UTC (11 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.16: +1 -3 lines
Diff to previous 1.16 (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.16 / (download) - annotate - [select for diffs], Mon Jun 3 16:53:49 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.15: +4 -1 lines
Diff to previous 1.15 (colored)

Implement support for multiple addresses per interface.
This replaces the way addresses and interface are chained together.
In ospfd there was a 1 to 1 mapping (with iface clones) but LDP does
not have that limitation.
Diff from Renato Westphal

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jun 1 20:13:04 2013 UTC (11 years ago) by claudio
Branch: MAIN
Changes since 1.14: +2 -4 lines
Diff to previous 1.14 (colored)

Filter out route messages we don't need and log kernel messages in
super verbose mode.
From Renato Westphal

Revision 1.14 / (download) - annotate - [select for diffs], Sat May 4 09:26:24 2013 UTC (11 years, 1 month ago) by jsg
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

fix a use after free
ok sthen@ jung@ fgsch@

Revision 1.13 / (download) - annotate - [select for diffs], Sat Aug 20 19:02:28 2011 UTC (12 years, 9 months ago) by sthen
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
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored)

Decouple log_verbose() from log_init() so the verbose flag stays set with
"-v" (previously only "-vd" worked). Similar to recent ospfd commit.
ok claudio@

Revision 1.12 / (download) - annotate - [select for diffs], Wed Sep 1 13:54:54 2010 UTC (13 years, 9 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored)

s/lfib/fib/ for more consitency with the other routing daemons.
This started manly because of ldpctl beeing inconsistent and me misstyping
lfib almost every time.
OK michele@

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jul 8 09:41:05 2010 UTC (13 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

Kill more code in kroute.c that is unneeded in ldpd. ldpd is a bit strange
since it does not care that much about reachability of routes. The idea is
to have diverse LSP in the kernel and the kernel should then decide which
path should be used.
OK michele@

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jun 30 05:21:38 2010 UTC (13 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.9: +1 -7 lines
Diff to previous 1.9 (colored)

Kill IMSG_KLABEL_INSERT and all the related functions around it.
IMSG_KLABEL_CHANGE is smart enough to know when something is a change
or an insert.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jun 2 16:01:41 2010 UTC (14 years ago) by claudio
Branch: MAIN
Changes since 1.8: +1 -26 lines
Diff to previous 1.8 (colored)

MPLSCTL_ENABLE is gone, no need to check for it. There is also no real
reason why ldpd needs to check for ip forwarding so remove that check
as well. Reminded by phessler@

Revision 1.8 / (download) - annotate - [select for diffs], Wed May 26 13:56:07 2010 UTC (14 years ago) by nicm
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

Rename some imsg bits to make namespace collisions less likely buf to
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE.

ok henning gilles claudio jacekm deraadt

Revision 1.7 / (download) - annotate - [select for diffs], Wed Mar 3 10:17:05 2010 UTC (14 years, 3 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.6: +10 -1 lines
Diff to previous 1.6 (colored)

Rework the kroute code by stealing some code from ospfd and massaging it
a lot more. Main reason for this is to add priority support. Additionally
add some additional NO_LABEL fixes.
OK michele@

Revision 1.6 / (download) - annotate - [select for diffs], Thu Feb 25 17:40:46 2010 UTC (14 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.5: +32 -1 lines
Diff to previous 1.5 (colored)

Do not use bufferevent for something that's already covered in the imsg
buffer API. This fixes a few possible problems in session_read and does
some further cleanup in various places. Wrap msgbuf into evbuf to add
libevent functionality and use buf_read to handle the read side of a
session.  OK michele@ and dlg@ did not see anything evil

Revision 1.5 / (download) - annotate - [select for diffs], Mon Nov 2 20:34:58 2009 UTC (14 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.4: +8 -3 lines
Diff to previous 1.4 (colored)

More IMSG_CTL_LOG_VERBOSE, still doing the same toggeling of log_debug().

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 28 09:15:58 2009 UTC (14 years, 7 months ago) by sobrado
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

remove an unimplemented flag from both usage() and getopt(3)'s
option string.

ok claudio@, michele@

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 13 19:04:26 2009 UTC (14 years, 10 months ago) by michele
Branch: MAIN
Changes since 1.2: +3 -5 lines
Diff to previous 1.2 (colored)

Get rid of the multipath code, as it is not needed.

ok claudio@ laurent@

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jun 6 08:09:43 2009 UTC (14 years, 11 months ago) by pyr
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.1: +54 -39 lines
Diff to previous 1.1 (colored)

make ldpd imsg-in-a-lib ready too.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jun 1 20:59:45 2009 UTC (15 years ago) by michele
Branch: MAIN

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@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.