summaryrefslogtreecommitdiff
path: root/sysdep/bsd
AgeCommit message (Collapse)Author
2016-04-06KRT: Fix route learn scan when route changedOndrej Zajicek (work)
When a kernel route changed, function krt_learn_scan() noticed that and replaced the route in internal kernel FIB, but after that, function krt_learn_prune() failed to propagate the new route to the nest, because it confused the new route with the (removed) old best route and decided that the best route did not changed. Wow, the original code (and the bug) is almost 17 years old.
2015-11-11Netlink: Allow more than 256 routing tables.Jan Moskyto Matejka
Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to allow 32-bit routing table IDs. Using this attribute to index routing tables at Linux, instead of 8-bit rtm_table field.
2015-06-08unsigned [int] -> uintPavel Tvrdík
2015-06-08unsgined char -> bytePavel Tvrdík
2015-05-12KRT: Add support for plenty of kernel route metricsOndrej Zajicek
Linux kernel route metrics (RTA_METRICS netlink route attribute) are represented and accessible as new route attributes: krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss, krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd, krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar, krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering, krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
2015-04-22KRT: Support for RTM_CHANGE on BSDOndrej Zajicek
2015-04-12Minor fixesOndrej Zajicek
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-07-09Fixes a bug in BSD kernel interfacing code.Ondrej Zajicek
The bug was introduced in 05476c4d04a24bdb26fa64e05ab31bc36118f34e.
2014-06-26Ensures that msg_controllen includes last padding.Ondrej Zajicek
Although RFC 3542 allows both cases, Theo de Raadt thinks he knows better, and msg_controllen without last padding fails on OpenBSD. Thanks to Job Snijders for the bugreport.
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-02-26Fixes longstanding issue with interfaces staying in IF_TMP_DOWN.Ondrej Zajicek
Thanks to Pierluigi Rolando and others for the bugreport.
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-25Merge branch 'master' into add-pathOndrej Zajicek
2013-11-25Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.Ondrej Zajicek
Thanks to Alexander V. Chernikov for the original patch.
2013-11-23Merge branch 'master' into add-pathOndrej Zajicek
Conflicts: filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
2013-11-21Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces ↵Ondrej Zajicek
on BSDs. Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikov for examining it and locating the problem.
2013-09-22Allows other than IA_PEER addresses on PtP ifaces on BSD.Ondrej Zajicek
Also fixes a potential problem with link-local dest_addrs for IA_PEER addresses. Thanks to Alexander V. Chernikov for the suggestion.
2013-07-11Some fixes for TTL security.Ondrej Zajicek
2013-07-07Implements multiple routing table support for FreeBSD and OpenBSD.Ondrej Zajicek
Inspired by the patch from Alexander V. Chernikov.
2013-07-04Makes krt.c much more readable.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.
2012-08-14Implements ADD-PATH extension for BGP.Ondrej Zajicek
Allows to send and receive multiple routes for one network by one BGP session. Also contains necessary core changes to support this (routing tables accepting several routes for one network from one protocol). It needs some more cleanup before merging to the master branch.
2012-08-08DragonFly support add - thanks to john@marino.stOndrej Filip
2012-05-04Cleanup in sysdep KRT code, part 4.Ondrej Zajicek
Adding some files that was accidentally removed (instead of moved) in cleanup part 2.
2012-04-30Cleanup in sysdep KRT code, part 3.Ondrej Zajicek
Just one more renaming, old krt_set_notify() to krt_replace_rte().
2012-04-30Cleanup in sysdep KRT code, part 2.Ondrej Zajicek
Remove support for historic Linux kernels, merge krt-iface, krt-set and krt-scan stub headers.
2012-04-30Cleanup in sysdep KRT code, part 1.Ondrej Zajicek
OS-dependent functions renamed to be more consistent, prepared to merge krt-set and krt-scan headers. Name changes: struct krt_if_params -> struct kif_params struct krt_if_status -> struct kif_status struct krt_set/scan_params -> struct krt_params struct krt_set/scan_status -> struct krt_status krt_if_params_same -> kif_sys_reconfigure krt_if_copy_params -> kif_sys_copy_config krt_set/scan_params_same -> krt_sys_reconfigure krt_set/scan_copy_params -> krt_sys_copy_config krt_if_scan -> kif_do_scan krt_set_notify -> krt_do_notify krt_scan_fire -> krt_do_scan krt_if_ -> kif_sys_ krt_scan_ -> krt_sys_ krt_set_ -> krt_sys_
2012-03-25Fixes several minor bugs in kernel syncer.Ondrej Zajicek
2012-03-23Adds krt_source route attribute.Ondrej Zajicek
Thanks Jeremie Dimino for the original patch.
2012-01-23Implements handling of BSD iface arrival/departure notifications.Ondrej Zajicek
Thanks to Alexander V. Chernikov for original patch.
2012-01-23Fixes problems with creating/removing/renaming ifaces on BSD.Ondrej Zajicek
2012-01-21Fixes a bug in BSD iface scan.Ondrej Zajicek
if_update() should be called always, because periodic iface scan code removes all not-updated ifaces.
2012-01-09Some minor fixes.Ondrej Zajicek
2012-01-08Fix for IPv6 addresses on non-multiaccess ifaces on BSD.Ondrej Zajicek
Thanks Matthias Schiffer for the patch.
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-10-09Extend the error message.Ondrej Zajicek
2011-10-06Signal problems with route installation to kernel tables.Ondrej Zajicek
2011-09-04NetBSD compile fix.Ondrej Zajicek
2011-08-16The generalized TTL security mechanism (RFC 5082) support.Ondrej Zajicek
Thanks to Alexander V. Chernikov for the patch.
2011-08-15A minor fix in BSD.Ondrej Zajicek
2011-07-28Fixes crash on BSD.Ondrej Zajicek
2011-04-07Fixes KRT sync in BSD.Ondrej Zajicek
When buffer is too small (because of change between sysctls()), needed is *not* changed.
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-01-08Some cleanups in krt_read_ifinfo().Ondrej Zajicek
2011-01-08Fixes interface names on BSD systems.Ondrej Zajicek
2010-11-11Implements link state detection.Ondrej Zajicek
Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN, IFF_LINK_UP -> IFF_ADMIN_UP).
2010-07-05Implements hostcache and recursive next hops.Ondrej Zajicek
Hostcache is a structure for monitoring changes in a routing table that is used for routes with dynamic/recursive next hops. This is needed for proper iBGP next hop handling.
2010-05-28Minor fixes.Ondrej Zajicek