Commit Graph
154 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 3f6bfbbf1c Merge commit '538fec7b1b7dd729eadf1c933e27f59080cd3576' into integrated 2014-05-02 18:27:40 +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 6310da3509 Merge commit 'f83ce94d5e410d5e5b921121867321c19451896b' into integrated 2014-04-29 15:10:51 +02:00
Ondrej Zajicek eb5ea6bdd6 Fixes build on some old systems. 2014-03-31 13:21:13 +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 65194bd1eb Removes workaround related to import of kernel device routes.
Thanks to Benjamin Cama for notification.
2013-11-23 22:48:27 +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 f83ce94d5e Fixes missing unregister of kernel table handling code.
And some minor fixes.

Thanks to Sergey Popovich for the patch.
2013-09-26 17:33:00 +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 cad9834b74 Merge commit '924868543c2010f3ef2cfcb7ba6bac5988ab3264' into integrated
Conflicts:

	proto/ospf/iface.c
2013-07-30 21:34:47 +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 9810d05562 Fixes problems with routing table scans on some platforms.
Negative bit shifts are definitely undefined oprations.
2013-05-28 10:44:44 +02: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 Zajicek c06de722dd Some minor fixes. 2012-08-06 11:09:13 +02:00
Ondrej Zajicek 3f03288514 Temporary integrated commit. 2012-06-23 15:17:50 +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 b9c8061b19 Temporary integrated commit. 2012-06-22 13:38:52 +02:00
Ondrej Zajicek 47c447c42e Minor cleanups. 2012-05-11 12:10:21 +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 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 3589546af4 Merge commit 'origin/master' 2012-04-24 23:37:01 +02:00
Ondrej Zajicek 334a0ed24d Fixes missing device attributes when exporting routes to kernel.
Thanks to Howden Nick for the bugreport.
2012-04-21 11:00:23 +02:00
Ondrej Filip f93e6f338e Small clean up in debug texts 2012-04-19 17:14:16 +02:00
Ondrej Zajicek c9df01d321 Fixes several minor bugs in kernel syncer. 2012-03-25 19:44:14 +02:00
Ondrej Zajicek 9ba2798c65 Adds krt_metric linux route attribute. 2012-03-23 17:22:13 +01:00
Ondrej Zajicek 732a0a257d Fixes problems with creating/removing/renaming ifaces on BSD. 2012-01-23 01:26:40 +01:00
root 4b3a8ff8c6 Extend buffer for netlink messages. 2012-01-09 16:57:45 +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 32f95476a8 Signal problems with route installation to kernel tables. 2011-10-06 22:48:49 +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
root aca0e79faa Handles missing macro. 2011-07-29 14:52:28 +02:00
Ondrej Zajicek e8b89a6104 Update and document the privilege restriction. 2011-05-15 16:29:44 +02:00
Ondrej Zajicek 1bc2695744 Allows run with restricted privileges.
Adds option -u and -g to specify user and group.
When different user (than root) is specified,
linux capabilities CAP_NET_* are kept.
2011-05-10 02:42:17 +02:00
Ondrej Zajicek 71ca77169d Adds support for several Linux kernel route attributes. 2011-04-13 12:32:27 +02:00
Ondrej Zajicek 83696b3913 Hide 6to4 route warnings. 2011-03-29 02:44:39 +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