summaryrefslogtreecommitdiff
path: root/lib/ip.h
AgeCommit message (Collapse)Author
2018-12-20Lib: Force output type in ip4_addr constructorOndrej Zajicek (work)
Fixes type issue when u64 is pushed into it.
2018-09-18The MRT protocolOndrej Zajicek (work)
The new MRT protocol is responsible for periodic RIB table dumps in the MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is refactored and splitted between BGP to MRT protocols, will be more integrated into MRT in the future. Example: protocol mrt { table "*"; filename "%N_%F_%T.mrt"; period 60; } It is partially based on the old MRT code from Pavel Tvrdik.
2018-07-28BSD: Use MSG_DONTROUTE for unicast packets on FreeBSDOndrej Zajicek (work)
BSD systems cannot use SO_DONTROUTE, because it does not work properly with multicast packets (perhaps it tries to find iface based on multicast group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD (i guess due to integrated routing table and ARP table).
2016-04-28Add the Babel routing protocol (RFC 6126)Ondrej Zajicek (work)
This patch implements the IPv6 subset of the Babel routing protocol. Based on the patch from Toke Hoiland-Jorgensen, with some heavy modifications and bugfixes. Thanks to Toke Hoiland-Jorgensen for the original patch.
2015-11-24Merge branch 'master' into rip-newOndrej Zajicek (work)
2015-11-24Some consts for function argumentsOndrej Zajicek (work)
Patch from Pavel Tvrdik
2015-10-05Major RIP redesignOndrej Zajicek (work)
The new RIP implementation fixes plenty of old bugs and also adds support for many new features: ECMP support, link state support, BFD support, configurable split horizon and more. Most options are now per-interface.
2015-06-08unsigned [int] -> uintPavel TvrdĂ­k
2014-10-24Integrated IP functions.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.
2011-09-24Use undefined scope for undefined IPv6 addresses.Ondrej Zajicek
2010-02-26Many changes in (mainly) kernel syncers.Ondrej Zajicek
- BSD kernel syncer is now self-conscious and can learn alien routes - important bugfix in BSD kernel syncer (crash after protocol restart) - many minor changes and bugfixes in kernel syncers and neighbor cache - direct protocol does not generate host and link local routes - min_scope check is removed, all routes have SCOPE_UNIVERSE by default - also fixes some remaining compiler warnings
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2000-05-13Unified parsing of prefixes.Martin Mares
Had to rename `prefix' in filters to `fprefix'.
1999-11-25Added ip_scope_text() for translating of scopes to strings.Martin Mares
1999-08-03Basic support for IPv6. The system-dependent part doesn't work yet,Martin Mares
but the core routines are there and seem to be working. o lib/ipv6.[ch] written o Lexical analyser recognizes IPv6 addresses and when in IPv6 mode, treats pure IPv4 addresses as router IDs. o Router ID must be configured manually on IPv6 systems. o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts. o Fixed few places where ipa_(hton|ntoh) was called as a function returning converted address.
1998-11-27Implemented ip_pton()Martin Mares
1998-06-17Added function for converting of IP addresses to printable form.Martin Mares
1998-06-01Added ipa_xor() and ipa_in_net().Martin Mares
1998-05-15The library is now glued together from generic and OS-dependent partsMartin Mares
by the `mergedirs' script. Few more IP address manipulation functions and some fixes.
1998-05-03BIRD library: The story continues.Martin Mares
Complete resource manages and IP address handling.
1998-04-28Changed #include <x/y> to #include "x/y" for our local includes, so thatMartin Mares
gcc -MM can be used to separate them from the system ones. Added automatic generation of dependencies.
1998-04-23Added IP address manipulation macros, interface declarations and logging.Martin Mares