Commit graph

191 commits

Author SHA1 Message Date
Ondrej Zajicek (work) 8860e991f6 Merge branch 'master' into int-new 2016-11-08 19:27:58 +01:00
Ondrej Zajicek (work) 29239ba2bb OSPF: Use message authentication interface
Based on former commit from Pavel Tvrdik
2016-11-02 17:53:22 +01:00
Jan Moskyto Matejka 3e236955c9 Build: switch on -Wextra, get rid of most of the warnings
There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.
2016-11-01 14:52:54 +01:00
Jan Moskyto Matejka 7152e5efbb Build system reworked to one global Makefile with includes and no nesting
Also removed the lib-dir merging with sysdep. Updated #include's
accordingly.

Fixed make doc on recent Debian together with moving generated doc into
objdir.

Moved Makefile.in into root dir

Retired all.o and birdlib.a
Linking the final binaries directly from all the .o files.
2016-05-10 14:07:34 +02:00
Ondrej Zajicek (work) 74c838a870 Move ID allocator to a separate file and use it also in OSPF 2015-12-29 15:42:12 +01:00
Ondrej Zajicek (work) 0bf95f99e6 Follow-up work on integration
Contains some patches from Jan Moskyto Matejka
2015-12-21 17:17:21 +01:00
Ondrej Zajicek (work) 23c212e7f1 Follow-up work on integration 2015-12-21 03:33:18 +01:00
Jan Moskyto Matejka d7661fbe9d Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AF
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-12-19 15:57:09 +01:00
Ondrej Zajicek (work) d44e686e9b Follow-up commit on integrated BIRD
Use net_addr for interface address prefixes, support net_addr in
configuration parser.
2015-11-12 02:03:59 +01:00
Ondrej Zajicek (work) fe9f1a6ded Initial commit on integrated BIRD
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-11-05 12:48:52 +01:00
Ondrej Zajicek 304ac2e861 Minor fixes 2015-04-12 10:47:17 +02:00
Ondrej Zajicek 6f8bbaa10b Fininshing integrated OSPF. 2014-11-03 10:42:55 +01:00
Ondrej Zajicek 88a183c6c9 Integrated IP functions. 2014-10-24 11:11:43 +02:00
Ondrej Zajicek f8fefde318 Refactoring of OSPF messages. 2014-10-24 11:07:38 +02:00
Ondrej Zajicek 178a197afb OSPF instance id option and documentation update. 2014-07-21 21:50:56 +02:00
Ondrej Zajicek 742029eb78 Whitespace cleanup in OSPF. 2014-07-19 17:28:38 +02:00
Ondrej Zajicek a7a7372aa7 Temporary integrated OSPF commit. 2014-07-18 18:24:12 +02:00
Ondrej Zajicek 70945cb645 Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
Ondrej Zajicek 145368f547 Extends multipath support for OSPF.
Fixes cases where the same network or external route are propagated by
several OSPF routes and some other corner cases in next hop construction
and ECMP. Allows to specify whether external routes should be merged.

Thanks to Peter Christensen for the original patch.
2014-04-23 13:54:28 +02:00
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 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 70e212f913 Implements TTL security for OSPF and RIP.
Interfaces for OSPF and RIP could be configured to use (and request)
TTL 255 for traffic to direct neighbors.

Thanks to Simon Dickhoven for the original patch for RIPng.
2013-06-25 15:39:44 +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 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 dd4da6f640 Fixes another bug in OSPFv3 vlinks. 2012-10-31 17:14:35 +01:00
Ondrej Zajicek 95127cbbb7 Real broadcast mode for OSPFv2. 2012-05-14 11:47:41 +02:00
Ondrej Zajicek 20ab192bec Adds filtering to 'show ospf lsadb' command.
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:12:26 +01:00
Ondrej Zajicek 5c78e0e386 Some more verbose warnings. 2012-01-22 11:03:30 +01:00
Ondrej Zajicek a7f23f581f Implements protocol templates.
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-11-07 00:31:23 +01:00
Ondrej Zajicek 2918e61046 Fixes for OSPF NSSA handling. 2011-09-03 21:31:26 +02:00
Ondrej Zajicek ed317862c2 OSPF NSSA support, inter-area LSA translation. 2011-08-08 01:45:31 +02:00
Ondrej Zajicek 4160a9dd94 OSPF NSSA translator election. 2011-07-22 20:00:24 +02:00
Ondrej Zajicek 41b612c31b OSPF NSSA support, part one. 2011-07-20 23:48:06 +02:00
Ondrej Zajicek ab16497189 Fixes a nasty bug in OSPF.
Sending malformed network prefixes in LSAs causes OSPF to crash
just after the LSA is propagated to the other routers.
2011-03-29 01:41:46 +02:00
Ondrej Zajicek 8e48831a97 Vastly improved OSPF reconfiguration.
Now it can handle a change in iface pattern structure.
It can add, remove and reconfigure interfaces, vlinks and areas.
2011-03-17 15:53:36 +01:00
Ondrej Zajicek e7b4948cbd A simplification of the next-hop calculation.
Thanks to Joakim Tjernlund for the idea.
2010-12-28 01:43:07 +01:00
Ondrej Zajicek 919f5411c4 Implements Point-to-MultiPoint interface type for OSPF. 2010-12-24 18:08:07 +01:00
Ondrej Zajicek 57c574d82a Multipath support for OSPF 2010-12-07 23:35:39 +01:00
Ondrej Zajicek 391931d456 Minor finalizations of link state checks. 2010-11-19 13:46:21 +01:00
Ondrej Zajicek 79f561a173 Fixes a typo (in OSPF_MAX_PKT_SIZE value).
And updates a comment.
2010-11-19 12:45:17 +01:00
Ondrej Zajicek d9e7e1b13d Adds support for iface link detection to OSPF. 2010-11-13 14:19:23 +01:00
Ondrej Zajicek 5cdf264f93 Fixes a bug related to implicit backbone on ABR. 2010-11-10 16:43:11 +01:00
Ondrej Zajicek d5356072ac Fixes a bug in LSA update of large LSAs. 2010-11-04 17:22:43 +01:00
Ondrej Zajicek 0ea8fb4abe Fixes and enhancements in 'show ospf state' command.
Now it shows a distance, option to change showing reachable/all network
nodes and better handling of AS-external LSAs in multiple areas. The
command 'show ospf topology' was changed to not show stubnets in both
OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
2010-04-24 15:18:21 +02:00
Ondrej Zajicek 48cff379a7 Added some comments. 2010-03-26 16:21:29 +01:00
Ondrej Zajicek af157fa3db Disable multiple OSPF pseudointerfaces on BSD. 2010-03-26 14:48:01 +01:00
Ondrej Zajicek 0aad2b9292 Temporary OSPF commit - sockets. 2010-03-14 16:36:59 +01:00
Ondrej Zajicek 54305181f6 Merge branch 'new' into socket2 2010-03-11 18:55:59 +01:00
Ondrej Zajicek e81b440f68 Fix configure to enable warnings and fix most of them. 2010-02-21 14:34:53 +01:00