summaryrefslogtreecommitdiff
path: root/proto/ospf/iface.c
AgeCommit message (Collapse)Author
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-02OSPF: Use message authentication interfaceOndrej Zajicek (work)
Based on former commit from Pavel Tvrdik
2016-02-25OSPF: Multicast ability is irrelevant for stub interfacesOndrej Zajicek (work)
2015-08-19OSPF: Fixes some issues with link detectionOndrej Zajicek
Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
2015-06-01Typo fix by Hans van KranenburgOndrej Filip
2014-11-03Bugfix in latest OSPF changes.Ondrej Zajicek
2014-11-03Bugfix to OSPF reconfiguration.Ondrej Zajicek
2014-11-03Fininshing integrated OSPF.Ondrej Zajicek
2014-10-24Refactoring of OSPF messages.Ondrej Zajicek
2014-07-19Whitespace cleanup in OSPF.Ondrej Zajicek
2014-07-18Temporary integrated OSPF commit.Ondrej Zajicek
2014-06-26Temporary integrated OSPF commit.Ondrej Zajicek
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-02-06Many changes in I/O and OSPF sockets and packet handling.Ondrej Zajicek
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
2013-11-24OSPF ifaces on loopback should be stub.Ondrej Zajicek
2013-11-19BFD protocol, ready for release.Ondrej Zajicek
Supports OSPF and BGP and also statically configured sessions.
2013-07-11Some fixes for TTL security.Ondrej Zajicek
2013-06-25Implements TTL security for OSPF and RIP.Ondrej Zajicek
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-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-05-28Fixes crash with vlinks.Ondrej Zajicek
2013-04-17Fixes a compatibility issue in OSPFv2 PtP links.Ondrej Zajicek
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-16Better handling of global addresses as configured NBMA neighbors in OSPFv3.Ondrej Zajicek
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.
2012-11-10Fixes OSPF reconfigure w.r.t. downed ifaces.Ondrej Zajicek
2012-10-31Fixes another bug in OSPFv3 vlinks.Ondrej Zajicek
2012-05-14Real broadcast mode for OSPFv2.Ondrej Zajicek
2012-03-16Fixes broken vlinks in OSPF.Ondrej Zajicek
2012-03-15Fixes TTL for multicast OSPF packets.Ondrej Zajicek
Thanks Alexander V. Chernikov for the suggestion.
2011-07-08Removes timers for stub interfaces. Also fixes some minor bugs.Ondrej Zajicek
2011-07-06Do not open sockets for stub interfaces.Ondrej Zajicek
2011-03-28Minor changes in addresses.Ondrej Zajicek
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not show broadcast addr in show interfaces. Nobody cares for that.
2011-03-17Vastly improved OSPF reconfiguration.Ondrej Zajicek
Now it can handle a change in iface pattern structure. It can add, remove and reconfigure interfaces, vlinks and areas.
2010-12-28A simplification of the next-hop calculation.Ondrej Zajicek
Thanks to Joakim Tjernlund for the idea.
2010-12-24Implements Point-to-MultiPoint interface type for OSPF.Ondrej Zajicek
2010-12-07Multipath support for OSPFOndrej Zajicek
2010-11-19Minor finalizations of link state checks.Ondrej Zajicek
2010-11-13Adds support for iface link detection to OSPF.Ondrej Zajicek
2010-11-04OSPF tx buffers should have the same size as rx buffers.Ondrej Zajicek
We should be able to send everything we received.
2010-11-03Fixes a bug in OSPF.Ondrej Zajicek
2010-08-22Fixes a bug in NBMA on an iface with multiple IP addresses.Ondrej Zajicek
2010-05-26Support loopback/dummy addresses.Ondrej Zajicek
2010-05-02OSPF: most of summary LSA orig./flush logic rewritten.Ondrej Zajicek
Fixes many bugs in the old code and makes it much cleaner.
2010-04-28Better support for /31 networks.Ondrej Zajicek
2010-04-24Fixes and enhancements in 'show ospf state' command.Ondrej Zajicek
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-21Fixes several problems in OSPF vlink implementation.Ondrej Zajicek
2010-04-02Use SO_BINDTODEVICE also in Linux/IPv6.Ondrej Zajicek
2010-04-02Minor fixes to previous patches.Ondrej Zajicek
2010-03-26Added some comments.Ondrej Zajicek
2010-03-26Disable multiple OSPF pseudointerfaces on BSD.Ondrej Zajicek
2010-03-14Temporary OSPF commit - sockets.Ondrej Zajicek
2010-03-11Temoporary OSPF commit - socket changes.Ondrej Zajicek