Age | Commit message (Collapse) | Author |
|
Fix possible buffer overrun in rx_hook.
Let err_hook close socket instead of rx_hook.
|
|
|
|
Conditionally add replace_peers and replace_allowed_ips.
|
|
|
|
|
|
|
|
|
|
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
|
|
Most syntactic constructs in BIRD configuration (e.g. protocol options)
are defined as keywords, which are distinct from symbols (user-defined
names for protocols, variables, ...). That may cause backwards
compatibility issue when a new feature is added, as it may collide with
existing user names.
We can allow keywords to be shadowed by symbols in almost all cases to
avoid this issue.
This replaces the previous mechanism, where shadowable symbols have to be
explictly added to kw_syms.
|
|
The previous approach (use VOID constant for variable initialization)
failed due to dynamic type check failure.
Thanks to Alexander Zubkov <green@qrator.net> for the bugreport.
|
|
|
|
Thanks to Alexander Zubkov for the notice.
|
|
|
|
|
|
Nonterminal bytestring allows to provide expressions to be evaluated in
places where BYTETEXT is used now: passwords, radv custom option.
Based on the patch from Alexander Zubkov <green@qrator.net>, thanks!
|
|
Replace f_eval_int() function with a type-generic variant: cf_eval().
Implement similar fuction: cf_eval_int() via inline call to cf_eval().
|
|
- Rename BYTESTRING lexem to BYTETEXT, not to collide with 'bytestring' type name
- Add bytestring type with id T_BYTESTRING (0x2c)
- Add from_hex() filter function to create bytestring from hex string
- Add filter test cases for bytestring type
Minor changes by committer.
|
|
Based on patch from Alexander Zubkov, thanks!
|
|
Despite not having defined 'master interface', VRF interfaces should be
treated as being inside respective VRFs. They behave as a loopback for
respective VRFs. Treating the VRF interface as inside the VRF allows
e.g. OSPF to pick up IP addresses defined on the VRF interface.
For this, we also need to tell apart VRF interfaces and regular interfaces.
Extend Netlink code to parse interface type and mark VRF interfaces with
IF_VRF flag.
Based on the patch from Erin Shepherd, thanks!
|
|
|
|
It seems all Fedora packages are built from epel7 branch.
|
|
The test was written by Maria Matejka, thanks!
Run this using
apkg test
|
|
This will allow compatibility on future apkg config updates.
|
|
Mirrors debian patch.
|
|
|
|
Current is 13, remaining blockers:
- Debian 9 @ 11 (EOL)
- Ubuntu 18.04 @ 12 (EOL 2023-04-02)
|
|
|
|
Mirrors Debian package change.
|
|
|
|
|
|
RFC 5549 was obsoleted by RFC 8950.
|
|
Move all bmp_peer_down() calls to one place and make it synchronous with
BGP session down, ensuring that BMP receives peer_down before route
withdraws from flushing.
Also refactor bmp_peer_down_() message generating code.
|
|
Now we use rt_notify() and channels for both feed and notifications,
in both import tables (pre-policy) and regular tables (post-policy).
Remove direct walk in bmp_route_monitor_snapshot().
|
|
Remove special rte_announce_in(), so we can use generic rte_announce()
for bot feed and notifications.
|
|
|
|
- Manage BMP state through bmp_peer, bmp_stream, bmp_table structures
- Use channels and rt_notify() hook for route announcements
- Add support for post-policy monitoring
- Send End-of-RIB even when there is no routes
- Remove rte_update_in_notify() hook from import tables
- Update import tables to support channels
- Add bmp_hack (no feed / no flush) flag to channels
|
|
|
|
No need for *_begin(), *_commit(), and *_end() hooks. The hook *_notify()
is sufficient for everything.
|
|
The problem was the "/" symbol in the prefix mask that finished the formatting definition prematurely.
|
|
And use WALK_LIST macro
|
|
Currently one can use only a predefined set of advertised options in RAdv
protocol, which are supported by BIRD configuration. It would be convenient
to be able to specify other possible options at least manually as a blob
so one should not wait until it is supported in the code, released, etc.
This idea is inspired by presentation by Ondřej Caletka at CSNOG, in which
he noticed the lack of either PREF64 option or possibility to add custom
options in various software.
The patch makes it possible to define such options with the syntax:
other type <num> <bytestring>
|
|
Hexadecimal bytestring literals have minimal length to not collide
with IP addresses or regular (hexadecimal) number literals.
Allow to use shorter literals with explicit hex: prefix.
|