summaryrefslogtreecommitdiff
path: root/nest/config.Y
AgeCommit message (Collapse)Author
2017-12-07Merge commit '1e8721e2aeccfbc3f533e8b8abc07582cee77e9a' into int-newOndrej Zajicek (work)
2017-12-07Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-newOndrej Zajicek (work)
2017-12-07Timers: Parse and format functions for microsecond timesOndrej Zajicek (work)
Date/time output (e.g. in logs, show commands) can use %f to specify subsecond time. By default, millisecond precision is used in output.
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.
2017-05-23Change parser to handle numbers as unsignedOndrej Zajicek (work)
Lexer always parsed numbers as unsigned, but parser handled them as signed and grammar contained many unnecessary checks for negativity.
2017-04-29Minor fixesOndrej Zajicek (work)
2017-04-25Nest: Update of show route cmdOndrej Zajicek (work)
Some code cleanup, multiple bugfixes, allows to specify also channel for 'show route export'. Interesting how such apparenty simple thing like show route cmd has plenty of ugly corner cases.
2017-04-18Client: separate config syntax structure for "show route for"Jan Moskyto Matejka
2017-04-12Client: multitable version of show routeJan Moskyto Matejka
2017-03-13Filters: VPN Route Distinguishers, Prefix Type, Docs UpdateJan Moskyto Matejka
2016-12-22Removing (struct rta)->cast. Never used.Jan Moskyto Matejka
2016-12-22Merged multipath and single-path data structures.Jan Moskyto Matejka
Dropped struct mpnh and mpnh_*() Now struct nexthop exists, nexthop_*(), and also included struct nexthop into struct rta. Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed to distinguish between these two cases, RTD_DEVICE is equivalent to IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw). From now on, we also explicitely want C99 compatible compiler. We assume that this 20-year norm should be known almost everywhere.
2016-12-07Basic flow specification support (RFC 5575)Ondrej Zajicek (work)
Add flow4/flow6 network and rt-table type and operations, config grammar and static protocol support. Squashed flowspec branch from Pavel Tvrdik.
2016-11-08Merge branch 'master' into int-newOndrej Zajicek (work)
2016-11-08Merge tag 'v1.6.2' into int-newOndrej Zajicek (work)
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-05-12Merge remote-tracking branch 'origin/master' into int-newOndrej Zajicek (work)
2016-05-12Miscellaneous minor fixesOndrej Zajicek (work)
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-04-08Merge branch 'master' into int-new-channelsJan Moskyto Matejka
2016-03-17BGP: Add documentaion for extended messagesPavel Tvrdík
2016-02-01Channels - explicit links between protocols and tablesOndrej Zajicek (work)
The patch adds support for channels, structures connecting protocols and tables and handling most interactions between them. The documentation is missing yet.
2016-01-28Add 'GENERATE/ACCEPT FROM datetime TO datetime' to password optionsPavel Tvrdík
2016-01-20Add ROA_* constants values to grammar of configurationPavel Tvrdík
Add ROA_UNKNOWN, ROA_VALID and ROA_INVALID
2016-01-14NET ROAx: add max_pxlen, fix formatPavel Tvrdík
2015-12-24Follow-up work on integrationOndrej Zajicek (work)
2015-12-21Follow-up work on integrationOndrej Zajicek (work)
Contains some patches from Jan Moskyto Matejka
2015-12-20ROA code switchoffJan Moskyto Matejka
2015-12-19Stop perusing f_prefix for non-prefix-set usesJan Moskyto Matejka
Multiple changes by Ondrej Santiago Zajicek
2015-12-19Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AFJan Moskyto Matejka
Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic. Squashing and minor changes by Ondrej Santiago Zajicek
2015-11-12Follow-up commit on integrated BIRDOndrej Zajicek (work)
Use net_addr for interface address prefixes, support net_addr in configuration parser.
2015-11-05Initial commit on integrated BIRDOndrej Zajicek (work)
New data types net_addr and variants (in lib/net.h) describing network addresses (prefix/pxlen). Modifications of FIB structures to handle these data types and changing everything to use these data types instead of prefix/pxlen pairs where possible. The commit is WiP, some protocols are not yet updated (BGP, Kernel), and the code contains some temporary scaffolding. Comments are welcome.
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.