Age | Commit message (Collapse) | Author |
|
|
|
Use 51820 (default wireguard port) as default tunnel type.
|
|
Refer to RFC 9012, The BGP Tunnel Encapsulation Attribute.
|
|
|
|
Problem with listen_port dead lock in wireguard-go.
|
|
Unix socket implementation for wireguard-go.
Use abstract unix sockets on Android
|
|
Add to makefile.
|
|
Add literal for empty set "empty", which works for clist, eclist
and lclist, by using existing constant promotion mechanism.
|
|
Implement byte string literals on the format b"xxx" and b64"xxx"
which can be used as literals and in constants.
The format b"xxx" supports character data and octal and
hexadecimal data using C escapes (\n, \nn, \nnn, \xn and \xnn).
The format b64"xxx" supports base64 encoded strings (RFC1341).
|
|
Support abstract socket in sk_unix_connect
Implement SK_UNIX_ACTIVE
|
|
|
|
Having 4 functions doing almost the same is more mess than three macros.
|
|
|
|
For now just a dummy config but it is needed for forward
compatibility with v3.
|
|
|
|
|
|
Implement BGP Send hold timer according to draft-ietf-idr-bgp-sendholdtimer.
The Send hold timer drops the session if the neighbor is sending keepalives,
but does not receive our messages, causing the TCP connection to stall.
|
|
Some BGP capabilities change the BGP behavior in a significant way, so if
the configuration depends on it, it is better to not establish BGP
session when the capability is not available.
Add several BGP option to require individual BGP capabilities during
session negotiation.
|
|
|
|
Signed-off-by: Soha Jin <soha@jin.sh>
Co-developed-by: Wende Tan <twd2.me@gmail.com>
|
|
|
|
definition)
|
|
This allows to modify MPLS label stack in filters. Fixes a bug in
handling of 'gw_mpls' attribute.
|
|
Joined BIRD_CHECK_GCC_OPTION and BIRD_ADD_GCC_OPTION.
|
|
- Change tag from 'birdlab' to 'netlab'
- Change path of gitlab-runner home dir
- Use stayrtr from Debian
|
|
|
|
Recursive MPLS routes used hostentry from the original route, which
triggered different table than MPLS table, and therefore were not
updated.
|
|
|
|
|
|
Either hex:01234567, or hex:01:23:45:67. No confusing formats like
hex:0123:4567:ab:cdef, which looks like there is an implicit zero byte.
|
|
The Kernel protocol, even with the option 'learn' enabled, ignores
direct routes created by the OS kernel (on Linux these are routes
with rtm_protocol == RTPROT_KERNEL).
Implement optional behavior where both OS kernel and third-party routes
are learned, it can be enabled by 'learn all' option.
Minor changes by committer.
|
|
- Implement EA_GET for custom BGP attributes
- Forbid EA_SET on existing opaque attributes
- Forbid redefining existing attributes
- Document possible compatibility problems
|
|
Old configs do not define MPLS domains and may use a static protocol
to define static MPLS routes.
When MPLS channel is the only channel of static protocol, handle it
as a main channel. Also, define implicit MPLS domain if needed and
none is defined.
|
|
Changes in scope implementation broke scope handling in for loops.
The term in for loops is supposed to be parsed in the parent scope.
|
|
Seems like the root scope was not marked as active.
|
|
Otherwise we would get memory leaks.
|
|
|
|
When regular event was added from work event, we did remember that
regular event list was empty and therefore we did not use zero time
in poll(). This leads to ~3 s latency in route reload during
reconfiguration.
|
|
|
|
|
|
|
|
|
|
When a MPLS channel is reloaded, it should reload all regular MPLS-aware
channels. This causes re-evaluation of routes in FEC map and possibly
reannouncement of MPLS routes.
|
|
|
|
This allows changing label policy or label range without restart.
|
|
|
|
Fields import_target / export_target link to config structures, must be
updated during reconfiguration.
|
|
Use mpls_new_label() / mpls_free_label() also for static labels, to keep
track of allocated labels and to enforce label ranges.
Static label allocations always use static label range, regardless of
configured label range.
|
|
Instead of just using route attributes, static routes with
static MPLS labels can be defined just by e.g.:
route 10.1.1.0/24 mpls 100 via 10.1.2.1 mpls 200;
|
|
|