0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00
Commit Graph

88 Commits

Author SHA1 Message Date
Ondrej Zajicek
abffa9d421 Update socket code to be synced with master branch. 2014-05-18 11:51:15 +02:00
Ondrej Zajicek
c0821881fe Merge commit '3216eb03ddddc057bb18fa4dd02b7935a604f71f' into integrated
Conflicts:

	sysdep/linux/netlink.c
2014-05-02 18:05:57 +02:00
Ondrej Zajicek
c93f50635c Merge commit '48e5f32db676645640f84ab3d630cce975aa6b20' into integrated 2014-05-02 17:05:23 +02:00
Ondrej Zajicek
a485fd2909 Merge commit 'f48fa14214301382b2e6b134788a7506b61b664f' into integrated
Conflicts:

	nest/rt-table.c
	proto/bgp/attrs.c
	proto/bgp/packets.c
	proto/ospf/ospf.c
	proto/rip/rip.c
	proto/static/static.c
	sysdep/unix/krt.c
2014-04-29 17:23:38 +02:00
Ondrej Zajicek
37c2153457 Merge commit '0bb4e37db317a1290bad24fe430cac6569a9bd8c' into integrated
Conflicts:

	sysdep/linux/netlink.c
2014-04-29 16:32:08 +02:00
Ondrej Zajicek
054bc43a5c Merge commit '64534ea2f4361c247d7a0d1b6b14a02e8e3d6d33' into integrated
Conflicts:

	sysdep/bsd/krt-sock.c
2014-04-29 15:31:46 +02:00
Ondrej Zajicek
7b8adb3cb7 Merge commit 'f515e22924591542a909db0deb8545386aaa576e' into integrated
Conflicts:

	sysdep/bsd/krt-sock.c
2014-04-29 15:07:08 +02:00
Ondrej Zajicek
3216eb03dd Fixes longstanding issue with interfaces staying in IF_TMP_DOWN.
Thanks to Pierluigi Rolando and others for the bugreport.
2014-02-26 12:52:00 +01: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
283c7dfada Merge branch 'master' into add-path 2013-11-25 18:42:47 +01:00
Ondrej Zajicek
e237b28a4d Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.
Thanks to Alexander V. Chernikov for the original patch.
2013-11-25 01:21:39 +01:00
Ondrej Zajicek
736e143fa5 Merge branch 'master' into add-path
Conflicts:

	filter/filter.c
	nest/proto.c
	nest/rt-table.c
	proto/bgp/bgp.h
	proto/bgp/config.Y
2013-11-23 11:50:34 +01:00
Ondrej Zajicek
64534ea2f4 Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces on BSDs.
Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikov
for examining it and locating the problem.
2013-11-21 13:17:42 +01:00
Ondrej Zajicek
f515e22924 Allows other than IA_PEER addresses on PtP ifaces on BSD.
Also fixes a potential problem with link-local dest_addrs
for IA_PEER addresses.

Thanks to Alexander V. Chernikov for the suggestion.
2013-09-22 19:15:39 +02:00
Ondrej Zajicek
5ea2afcdcf Merge commit '354496ace87341428e6005fbc073fbe57b4e6c0e' into integrated
Conflicts:

	sysdep/bsd/sysio.h
	sysdep/unix/io.c
2013-07-31 18:33:55 +02:00
Ondrej Zajicek
050de54105 Merge commit 'c01a94663cc18f53fd741c5d44387eead9ca88af' into integrated
Conflicts:

	sysdep/bsd/krt-sock.c
	sysdep/bsd/krt-sys.h
2013-07-31 18:03:35 +02:00
Ondrej Zajicek
6477b8f10c Merge commit 'c6964c305b425b98aaf0492806a28b578d799d83' into integrated
Conflicts:

	sysdep/bsd/krt-sock.c
	sysdep/linux/netlink.c
	sysdep/unix/krt.h
2013-07-31 17:39:16 +02:00
Ondrej Zajicek
6abc22f4b0 Merge commit '6ac4f87a2d661c739e55a63577e7bccf696c7abd' into integrated
Conflicts:

	lib/socket.h
	proto/ospf/config.Y
	proto/ospf/iface.c
	proto/ospf/ospf.h
	proto/rip/rip.c
	sysdep/bsd/sysio.h
	sysdep/linux/sysio.h
	sysdep/unix/io.c
2013-07-31 16:29:34 +02:00
Ondrej Zajicek
9cf24ba8e7 Merge commit 'ef4a50be10c6dd0abffd957132cd146029c3d79d' into integrated
Conflicts:

	lib/ipv6.h
	nest/config.Y
	proto/ospf/config.Y
	proto/rip/rip.c
	sysdep/bsd/sysio.h
	sysdep/linux/sysio.h
	sysdep/unix/io.c
2013-07-30 23:48:07 +02:00
Ondrej Zajicek
354496ace8 Some fixes for TTL security. 2013-07-11 13:50:44 +02:00
Ondrej Zajicek
c01a94663c Implements multiple routing table support for FreeBSD and OpenBSD.
Inspired by the patch from Alexander V. Chernikov.
2013-07-07 12:11:42 +02:00
Ondrej Zajicek
c6964c305b Makes krt.c much more readable. 2013-07-04 18:02:22 +02:00
Ondrej Zajicek
3de342dae1 Adapts BSD sysdep code for integrated branch.
Thanks to Alexander V. Chernikov for the original patch.
2013-06-28 00:57:22 +02: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
debc0e45fd Merge commit '0343d066dab077d1391640c53198199b16bef993' into integrated 2013-01-12 23:40:00 +01:00
Ondrej Zajicek
094d2bdb79 Implements ADD-PATH extension for BGP.
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-14 16:46:43 +02:00
Ondrej Filip
d760229ab8 DragonFly support add - thanks to john@marino.st 2012-08-08 14:10:31 +02:00
Ondrej Zajicek
ed6c144066 Temporary integrated commit.
This one mostly merges patches from Alexander Chernikov.
2012-06-23 10:13:32 +02:00
Ondrej Zajicek
95616c8202 Cleanup in sysdep KRT code, part 4.
Adding some files that was accidentally removed
(instead of moved) in cleanup part 2.
2012-05-04 16:38:25 +02:00
Ondrej Zajicek
7a2c48dafc Cleanup in sysdep KRT code, part 3.
Just one more renaming, old krt_set_notify() to krt_replace_rte().
2012-04-30 22:34:06 +02:00
Ondrej Zajicek
f1aceff59b Cleanup in sysdep KRT code, part 2.
Remove support for historic Linux kernels,
merge krt-iface, krt-set and krt-scan stub headers.
2012-04-30 22:25:24 +02:00
Ondrej Zajicek
396dfa9042 Cleanup in sysdep KRT code, part 1.
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-04-30 15:31:32 +02:00
Ondrej Zajicek
c9df01d321 Fixes several minor bugs in kernel syncer. 2012-03-25 19:44:14 +02:00
Ondrej Zajicek
72aed1a00b Adds krt_source route attribute.
Thanks Jeremie Dimino for the original patch.
2012-03-23 00:26:26 +01:00
Ondrej Zajicek
09686693d3 Implements handling of BSD iface arrival/departure notifications.
Thanks to Alexander V. Chernikov for original patch.
2012-01-23 03:15:12 +01:00
Ondrej Zajicek
732a0a257d Fixes problems with creating/removing/renaming ifaces on BSD. 2012-01-23 01:26:40 +01:00
Ondrej Zajicek
b573755df4 Fixes a bug in BSD iface scan.
if_update() should be called always, because periodic iface scan code
removes all not-updated ifaces.
2012-01-21 22:41:31 +01:00
Ondrej Zajicek
d7f469c15c Some minor fixes. 2012-01-09 02:41:13 +01:00
Ondrej Zajicek
3f58437405 Fix for IPv6 addresses on non-multiaccess ifaces on BSD.
Thanks Matthias Schiffer for the patch.
2012-01-08 16:32:28 +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
1cb97af419 Extend the error message. 2011-10-09 17:01:01 +02:00
Ondrej Zajicek
32f95476a8 Signal problems with route installation to kernel tables. 2011-10-06 22:48:49 +02:00
Ondrej Zajicek
cb2b586f00 NetBSD compile fix. 2011-09-04 10:39:10 +02:00
Ondrej Zajicek
b1b1943360 The generalized TTL security mechanism (RFC 5082) support.
Thanks to Alexander V. Chernikov for the patch.
2011-08-16 23:13:05 +02:00
Ondrej Zajicek
a209d5d8e1 A minor fix in BSD. 2011-08-15 02:06:56 +02:00
Ondrej Zajicek
14272097df Fixes crash on BSD. 2011-07-28 13:50:02 +02:00
Ondrej Zajicek
4aef102be1 Fixes KRT sync in BSD.
When buffer is too small (because of change between sysctls()),
needed is *not* changed.
2011-04-07 11:42:13 +02:00
Ondrej Zajicek
52a43ae3b7 Minor changes in addresses.
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-28 22:46:18 +02:00
Ondrej Zajicek
d32a071da9 Some cleanups in krt_read_ifinfo(). 2011-01-08 11:31:12 +01:00