Commit Graph

13 Commits

Author SHA1 Message Date
kefren 2a2cde5c86 Use rbtree for storing peers FEC label bindings 2013-08-02 07:29:56 +00:00
kefren 0c8e14c9e8 * use a flag in label struct in order to determine if we should treat the
associated routes using RTF_HOST
* clean the mess in flush_mpls_routes that could result in accessing
  uninitialized memory
2013-07-24 09:05:53 +00:00
kefren e8941bb5d0 * rework the reattachment code
* build an implnull label when a route is added and let mpls_add_label
  to take care of relabelling
* take out last piece of the code where we do route lookups - we should have
  every information we need in labels
* tested these changes using a number of rump kernels and some couple of
  thousands of flapping routes
2013-07-18 11:45:36 +00:00
kefren 9b2110eba6 Make sure labels are always updated when a route is added and when a peer
is added
Rework mpls_add_label according to that so no route refresh is done anymore
Use poll when reading the PF_ROUTE socket
setsockopt SO_USELOOPBACK on the PF_ROUTE socket
Output some information on SIGINFO
Allow map changing for a ldp peer
Finally fix the connected routes admission into labels
Correct the route trigger when a label map is received
2013-07-18 06:07:45 +00:00
kefren 2cc7bf11fa Constify a little bit 2013-07-11 05:45:23 +00:00
kefren 42c11e10c7 allow INET6 gateways, split some long lines 2013-06-23 06:40:26 +00:00
kefren 269ea2d396 modify structures in order to accomodate IPv6 according to
draft-ietf-mpls-ldp-ipv6. Correct a little bit IPv6 hello path
2013-01-26 17:29:55 +00:00
kefren 9b733c1c9d * add no-default-route option into configuration file and check it before
rejecting default-route
* exit process in case of error into the main loop
* complete FSM for RTM_CHANGE
* Check if we overflow pollfd array
2011-06-14 11:28:51 +00:00
kefren 34493327dd use RT_ROUNDUP provided by net/route.h 2011-02-09 11:38:57 +00:00
kefren 53e5c5d4ca Fix more memory leaks in case malloc fails 2011-01-04 10:18:42 +00:00
wiz f5249cc468 Fix memory leak in error case. Found by cppcheck.
XXX: so_tag has same problem?
2011-01-04 09:42:21 +00:00
christos 14db3bb9d8 - no cast for malloc
- malloc + memset = calloc
- sizeof(type) -> sizeof(*var)
- small indents
2010-12-09 00:10:59 +00:00
kefren e7341ada4c Add ldpd, a RFC 3036 compatible LDP speaker. 2010-12-08 07:20:14 +00:00