Commit graph

253 commits

Author SHA1 Message Date
Ondrej Zajicek
48e5f32db6 Many changes in I/O and OSPF sockets and packet handling.
I/O:
 - BSD: specify src addr on IP sockets by IP_HDRINCL
 - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
 - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
 - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO
 - Alternative SKF_BIND flag for binding to IP address
 - Allows IP/UDP sockets without tx_hook, on these
   sockets a packet is discarded when TX queue is full
 - Use consistently SOL_ for socket layer values.

OSPF:
 - Packet src addr is always explicitly set
 - Support for secondary addresses in BSD
 - Dynamic RX/TX buffers
 - Fixes some minor buffer overruns
 - Interface option 'tx length'
 - Names for vlink pseudoifaces (vlinkX)
 - Vlinks use separate socket for TX
 - Vlinks do not use fixed associated iface
 - Fixes TTL for direct unicast packets
 - Fixes DONTROUTE for OSPF sockets
 - Use ifa->ifname instead of ifa->iface->name
2014-02-06 17:46:01 +01:00
Ondrej Filip
ec35c7c2fc Small doc update. 2014-01-21 23:43:22 +01:00
Ondrej Zajicek
90eb5e7a8b Use ISO 8601 timeformats by default. 2013-11-25 13:44:07 +01:00
Ondrej Zajicek
f3e5917850 Enables multihop mode for IBGP by default.
This is more consistent with common usage and also with the behavior of
other implementations (Cisco, Juniper).

Also changes the default for gw mode to be based solely on
direct/multihop.
2013-11-24 12:37:24 +01:00
Ondrej Zajicek
52e030e146 Converts filters to unsigned integers. 2013-11-24 00:17:02 +01:00
Ondrej Filip
d940a2c4d4 Added a few sentences about symbol names. 2013-11-23 13:26:52 +01:00
Ondrej Zajicek
0aeac9cb7f Merge commit 'origin/bfd' 2013-11-22 02:48:44 +01:00
Ondrej Zajicek
1ec522538f BFD protocol, ready for release.
Supports OSPF and BGP and also statically configured sessions.
2013-11-19 22:33:48 +01:00
Ondrej Zajicek
a15dab76f9 Implements 'allow local as' option.
Similar to allowas-in option on other routers.
2013-10-21 14:59:35 +02:00
Ondrej Filip
1cd198cf52 Flag -f "run in foreground" added as requested by a package maintainter. 2013-10-05 22:45:08 +02:00
Ondrej Zajicek
7ccb36d330 Implements C.len operator for clist and eclist types.
Thanks to Sergey Popovich for the original patch.
2013-10-02 14:57:29 +02:00
Ondrej Zajicek
a5fc59587f Rewrites static attribute filter code and adds ifname/ifindex attributes.
Thanks to Sergey Popovich for the original ifname/ifindex patch.
2013-09-26 22:08:21 +02:00
Ondrej Zajicek
d27e127aa9 Merge commit 'origin/master' 2013-09-10 12:54:57 +02:00
Ondrej Filip
b0a8c7fc85 Wrong change commited - 'route limit' marked as obsolete. 2013-08-15 20:26:50 +02:00
Ondrej Filip
6d90e57332 Typo in documentation fixed. 2013-08-15 19:54:18 +02:00
Ondrej Zajicek
bff9ce5130 Extends delete/filter operators to work no bgp_paths. 2013-08-15 01:06:47 +02:00
Ondrej Zajicek
00192d5ab8 Implements proper setting of 'gw' route attribute.
Thanks to Sergey Popovich for the bugreport.
2013-08-13 20:32:02 +02:00
Ondrej Zajicek
f8e8fcfabe Test commit. 2013-07-29 13:07:15 +02:00
Ondrej Zajicek
fd6cbe9053 Test commit. 2013-07-29 12:52:38 +02:00
Ondrej Zajicek
cff430f396 Test commit.
Also contains minor fixes in doc formatting.
2013-07-29 12:28:03 +02:00
Ondrej Filip
50b71c1b96 Fixed small error in documantation (thanks engels@openit.de). 2013-07-28 18:50:40 +02:00
Ondrej Zajicek
f4830d8cb8 Documentation update. 2013-07-27 00:38:29 +02:00
Ondrej Zajicek
508d936078 Implements eval command and minor CLI cleanups.
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-07-25 13:15:32 +02:00
Ondrej Zajicek
cc31b75a8f Implements 'bgppath ~ int set' filter op. 2013-07-09 23:27:10 +02:00
Ondrej Zajicek
6ac4f87a2d Documentation for TTL security. 2013-06-26 14:35:39 +02:00
Ondrej Zajicek
ef4a50be10 Better packet priority and traffic class handling.
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-06-24 16:37:30 +02:00
Ondrej Zajicek
f623ab9875 Implements OSPF stub router option (RFC 3137).
Also fixes OSPFv3 routing table calculcation w.r.t.
errata 2078 to RFC 5340.
2013-06-11 12:12:11 +02:00
Ondrej Zajicek
32622d0ea3 Merge branch 'birdcl' 2013-04-23 02:54:13 +02:00
Ondrej Zajicek
a5e9f3d26f Restructures birdc and birdcl to merge duplicated code.
The BIRD client code is restructured that most of the code (including
main function) is shared in client.c, while birdc.c and birdcl.c contain
just I/O-specific callbacks. This removes all duplicated code from
variant-specific files.
2013-04-23 02:42:35 +02:00
Ondrej Zajicek
8df02847e8 Fixes a compatibility issue in OSPFv2 PtP links.
BIRD used zero netmask in hello packets on all PtP links, not just on
unnumbered ones. This patch fixes it and adds option 'ptp netmask'
for overriding the default behavior.

Thanks to Alexander V. Chernikov for the original patch.
2013-04-17 13:06:40 +02:00
Ondrej Zajicek
48bc232f08 Implements 'next hop keep' option for BGP.
This option allows to keep the received next hop even in cases when
the route is sent to an interface with a different subnet.
2013-04-16 17:27:34 +02:00
Ondrej Zajicek
9ff5257357 Better handling of global addresses as configured NBMA neighbors in OSPFv3.
Configured NBMA neighbors in OSPFv3 should be link-local addresses, old
behavior was to silently ignore global ones. The patch allows BIRD to
accept global ones, but adds a warning and a documentation notice.

Thanks to Wilco Baan Hofman for the bugreport.
2013-04-16 16:22:31 +02:00
Ondrej Filip
e667622a35 Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol. 2013-02-25 10:39:46 +01:00
Ondrej Filip
2bf59bf4d3 Hotfix to solve an issue with delaying timers reported by Aleksey Chudov. 2013-02-21 00:44:59 +01:00
Ondrej Filip
0bc3542ab6 Route limits can be disabled - this makes sense for protocol templates 2013-02-10 19:06:56 +01:00
Ondrej Zajicek
36da2857bc Implements router advertisements activated by received routes.
The RAdv protocol could be configured to change its behavior based on
availability of routes, e.g., do not announce router lifetime when a
default route is not available.
2013-02-08 23:58:27 +01:00
Ondrej Zajicek
d214ae4fdc Fix missing documentation for one option. 2013-01-12 21:26:42 +01:00
Ondrej Zajicek
b662290f40 Separate import and receive limits.
They have different behavior w.r.t. filtered routes that are kept.
2013-01-10 13:07:33 +01:00
Ondrej Zajicek
79b4e12e60 Implements interface masks for choosing router id.
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-12-27 12:56:23 +01:00
Ondrej Zajicek
a92cf57dd6 Implements undo command and optional timeout for configuration
Several new configure command variants:

configure undo - undo last reconfiguration
configure timeout - configure with scheduled undo if not confirmed in timeout
configure confirm - confirm last configuration
configure check - just parse and validate config file
2012-12-26 12:40:48 +01:00
Ondrej Zajicek
80a9cadc76 Changes static route targets drop/reject to blackhole/unreachable.
To be consistent with rest of BIRD and Linux. Old names are also
allowed for compatibility.
2012-11-27 02:08:04 +01:00
Ondrej Zajicek
cf3a704b6a Updates the documentation. 2012-11-16 02:34:12 +01:00
Ondrej Zajicek
1555095795 Changes 'rejected' to 'filtered' in one of the last patches. 2012-11-15 01:29:01 +01:00
Ondrej Zajicek
cf98be7b67 Allows rejected routes to be kept and examined.
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-11-10 14:26:13 +01:00
Ondrej Zajicek
5400c0e7f9 Fixes BGP subcode during global shutdown. 2012-08-06 02:42:24 +02:00
Ondrej Zajicek
48cf5e84e6 Documentation update, 2012-07-24 20:12:14 +02:00
Ondrej Zajicek
0e224d5985 RDNSS and DNSSL documentation for RAdv. 2012-07-22 12:35:04 +02:00
Ondrej Zajicek
fc06fb6244 Implements RDNSS and DNSSL support for RAdv. 2012-07-07 14:26:42 +02:00
Ondrej Zajicek
95127cbbb7 Real broadcast mode for OSPFv2. 2012-05-14 11:47:41 +02:00
Ondrej Zajicek
0ec031f740 Allows to set instance ID for OSPFv3 interfaces. 2012-05-14 10:22:14 +02:00