summaryrefslogtreecommitdiff
path: root/nest/config.Y
AgeCommit message (Collapse)Author
2019-08-01Nest: VRF of protocol can be explicitly specified as 'default'Ondrej Zajicek (work)
Protocol can have specified VRF, in such case it is restricted to a set of ifaces associated with the VRF, otherwise it can use all interfaces. The patch allows to specify VRF as 'default', in which case it is restricted to a set of iface not associated with any VRF.
2017-12-14Minor cleanupsOndrej Zajicek (work)
2017-09-19BGP: Shutdown communication (RFC 8203)Ondrej Zajicek (work)
The patch implements BGP Administrative Shutdown Communication (RFC 8203) allowing BGP operators to pass messages related to BGP session administrative shutdown/restart. It handles both transmit and receive of shutdown messages. Messages are logged and may be displayed by show protocol all command. Thanks to Job Snijders for the basic patch.
2017-09-06Basic VRF supportOndrej Zajicek (work)
Add basic VRF (virtual routing and forwarding) support. Protocols can be associated with VRFs, such protocols will be restricted to interfaces assigned to the VRF (as reported by Linux kernel) and will use sockets bound to the VRF. E.g., different multihop BGP instances can use diffent kernel routing tables to handle BGP TCP connections. The VRF support is preliminary, currently there are several limitations: - Recent Linux kernels (4.11) do not handle correctly sockets bound to interaces that are part of VRF, so most protocols other than multihop BGP do not work. This will be fixed by future kernel versions. - Neighbor cache ignores VRFs. Breaks config with the same prefix on local interfaces in different VRFs. Not much problem as single hop protocols do not work anyways. - Olock code ignores VRFs. Breaks config with multiple BGP peers with the same IP address in different VRFs. - Incoming BGP connections are not dispatched according to VRFs. Breaks config with multiple BGP peers with the same IP address in different VRFs. Perhaps we would need some kernel API to read VRF of incoming connection? Or probably use multiple listening sockets in int-new branch. - We should handle master VRF interface up/down events and perhaps disable associated protocols when VRF goes down. Or at least disable associated interfaces. - Also we should check if the master iface is really VRF iface and not some other kind of master iface. - BFD session request dispatch should be aware of VRFs. - Perhaps kernel protocol should read default kernel table ID from VRF iface so it is not necessary to configure it. - Perhaps we should have per-VRF default table.
2016-11-02Nest: Add support for MAC algorithms in grammarPavel Tvrdík
2016-10-12Doc: Change debug to { flag1|flag2|flag3 [, ...] } stylePavel Tvrdik
Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!
2016-10-12Nest: Remove trailing whitespacesPavel Tvrdik
2016-07-19Babel: Documentation updatesOndrej Zajicek (work)
This updates the documentation to correctly mention Babel when protocols are listed, and adds examples and route attribute documentation to the Babel section of the docs. Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2016-04-08Direct: Implement check link for direct protocolOndrej Zajicek (work)
When enabled, direct protocol generates routes only if the underlying link state is up.
2016-03-17BGP: Add documentaion for extended messagesPavel Tvrdík
2015-07-28Nest: Fixes one of previous commitOndrej Zajicek
2015-07-18Nest: Fixes symbols in router idOndrej Zajicek
Thanks to Peter Hudec for noticing the problem.
2015-05-22Fixes unnamed protocols from templatesOndrej Zajicek
2015-03-09Possibility to define unnamed protocols from template added.Ondrej Filip
2015-03-02Implement latency tracking, internal event log and watchdogOndrej Zajicek
2015-02-21Store protocol config size inside protocol structureOndrej Zajicek
Make proto_config_new() use this info instead of supplied size. Thanks to Alexander V. Chernikov for the patch.
2014-10-02Implements show route noexport option.Ondrej Zajicek
Shows routes that would be exported to the protocol but are rejected by the export filter.
2014-05-29String constants could be used for string option values.Ondrej Zajicek
Thanks to Frederik Kriewitz for the patch.
2014-04-28Fixes 'show route export' w.r.t. protocols with different RA_* types.Ondrej Zajicek
2014-03-31Check validity of interface definitions.Ondrej Zajicek
Thanks to Aleksey Berezin for the bugreport.
2014-03-20BGP graceful restart support.Ondrej Zajicek
Also significant core protocol state changes needed for that, global graceful restart recovery state and kernel proto support for recovery.
2013-09-26Fixes build issues without BGP.Ondrej Zajicek
Thanks to Sergey Popovich for the patch.
2013-07-25Implements eval command and minor CLI cleanups.Ondrej Zajicek
Implemented eval command can be used to evaluate expressions. The patch also documents echo command and allows to use log classes instead of integer as a mask for echo.
2013-06-24Better packet priority and traffic class handling.Ondrej Zajicek
Implements support for IPv6 traffic class, sets higher priority for OSPF and RIP outgoing packets by default and allows to configure ToS/DS/TClass IP header field and the local priority of outgoing packets.
2013-02-25Default rounting table for 'show route export/preexport/protocol' is the one ↵Ondrej Filip
related to a respective protocol.
2013-02-14I still believe that 0 == NULL, however this patch will make Santiago happy. :-)Ondrej Filip
2013-02-10Route limits can be disabled - this makes sense for protocol templatesOndrej Filip
2013-01-10Separate import and receive limits.Ondrej Zajicek
They have different behavior w.r.t. filtered routes that are kept.
2012-12-27Implements interface masks for choosing router id.Ondrej Zajicek
Router ID could be automatically determined based of subset of ifaces/addresses specified by 'router id from' option. The patch also does some minor changes related to router ID reconfiguration. Thanks to Alexander V. Chernikov for most of the work.
2012-11-15Changes 'rejected' to 'filtered' in one of the last patches.Ondrej Zajicek
2012-11-10Allows rejected routes to be kept and examined.Ondrej Zajicek
When 'import keep rejected' protocol option is activated, routes rejected by the import filter are kept in the routing table, but they are hidden and not propagated to other protocols. It is possible to examine them using 'show route rejected'.
2012-07-16Merge branch 'rt-accepted'Ondrej Zajicek
Conflicts: nest/config.Y nest/rt-table.c proto/bgp/bgp.c
2012-07-16Finalize RA_ACCEPTED handling.Ondrej Zajicek
2012-04-28Changes keyword 'exceed' to 'action'.Ondrej Zajicek
2012-04-24Implements generalized export limits.Ondrej Zajicek
And also fixes some minor bugs in limits.
2012-04-15Implements generalized import hooks.Ondrej Zajicek
Thanks to Alexander V. Chernikov for the original patch.
2012-03-22Some minor changes to CLI.Ondrej Zajicek
2012-03-18Route Origin Authorization basics.Ondrej Zajicek
- ROA tables, which are used as a basic part for RPKI. - Commands for examining and modifying ROA tables. - Filter operators based on ROA tables consistent with RFC 6483.
2012-03-16Adds filtering to 'show symbols' command.Ondrej Zajicek
Thanks Alexander V. Chernikov for the original patch.
2012-01-24Assign default protocol preference via proto_config_new().Ondrej Zajicek
The patch from Alexander V. Chernikov.
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-09-24Use undefined scope for undefined IPv6 addresses.Ondrej Zajicek
2010-12-07Core multipath support.Ondrej Zajicek
2010-11-03Change default for BGP IPv6 socket to V6ONLY.Ondrej Zajicek
Also add a new option 'dual' for the old behavior.
2010-08-02Adds igp_metric attribute.Ondrej Zajicek
2010-06-02Implements command that shows memory usage.Ondrej Zajicek
2010-03-19Allow iface pattern matching code to match peer address on ptp links.Ondrej Zajicek
2010-03-11Merge branch 'new' into socket2Ondrej Zajicek
2010-02-21Restricted read-only CLI.Ondrej Zajicek
Also adds support for executing commands using birdc <cmd>.
2010-02-20Implements pattern match for 'show protocols' command.Ondrej Zajicek
And generally consolidates protocol commands.