| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Add more prototypes and make some functions static
|
|
|
|
| |
included same file twice
|
|
|
|
|
|
|
|
| |
To eliminate compiler warnings
* comment out unused code
* fix printf formats
* remove always true expression
* initialize variables
|
|
|
|
| |
Enable ipv6 link detect in kernel if needed.
|
|
|
|
|
| |
Rather that looking for /proc/sys/net/ipv4/conf, use --enable-linkdetect
flag to configure.
|
|
|
|
|
| |
If interface has link-detect enabled, try and turn on link-detect
in the kernel.
|
|
|
|
|
|
| |
There is no need to increase buffer size or set non-blocking on the
netlink command socket. This reduces the number of system calls per
transaction.
|
|
|
|
|
|
| |
Netlink recvmsg always succeeds, there are no permission checks in
the kernel on receive, only on send and bind. This reduces the number
of system calls and any potential security vulnerabilty in recvmsg().
|
|\ |
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The talk netlink socket should set it's own pid value, so
they can be ignored in listener.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For static routes, go through same logic to check the state of
the nexthop to see if the route should be activated or not.
Bug fix for 2708
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Netlink can notify us about changes that don't affect operative state
of the interface. So ignore these type of events.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The RIB data structures have lots of "holes" due to compiler alignment.
Since Quagga has to deal with large route tables, rearrange the elements
to save space.
|
|\ \ \ |
|
| |\ \ \
| | | |/
| | |/| |
|
| | |/
| | |
| | |
| | | |
It is a harmless event when BGP tries to delete already deleted routes.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When zebra changes routes it uses the netlink cmd socket, but these
also show up on the netlink listen socket. Use more kernel level socket
filtering so that any changes that happend because of command socket
are ignored.
Uses the netlink port id (pid) to identify the changes from the
command socket.
|
|/ /
| |
| |
| | |
Fix bug 487 by adding logging into quagga/zebra.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
When interface comes down, need two passes over the rib to correctly
process rib updates. If interface has both ipv6 and ipv4 routes and
comes down, need to do it as a two step process. Not sure exactly why,
but suspect it has to do with the the work queue and the flagging of
activity to the head of the list.
|
| |
| |
| |
| |
| |
| | |
Need to check if next hop is interface and if so then only mark
route active is interface is active. This addresses some of the problems
with static routes when interface goes down.
|
| |
| |
| |
| |
| |
| | |
Check if nexthop is active when doing RIB update.
This should fix issues with static routes staying active after
link going down.
|
| |
| |
| |
| |
| |
| | |
When link becomes unavailable, unselect any routes that use that link
as the next hop. This keeps routing protocols from propogating routes
these routes and greating black holes.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| | |
The filter rules were incorrect (jump to wrong offset), so the kernel
would not accept them.
Fixes: 2570
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Conflicts:
ChangeLog
zebra/zebra_rib.c
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* lib/zebra.h: Revert previous change, no need to include
<net/if_media.h> here.
* zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include
<net/if_media.h>
(if_get_flags) Remove debug messages about BSD link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state
is unknown, we should set the IFF_RUNNING flag.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
2008-01-10 Ingo Flaschberger <if@xip.at>
* configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is
present.
* lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined,
include <net/if_media.h>.
* zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the
SIOCGIFMEDIA ioctl to ascertain link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to
map the ifm_data.ifi_link_state value into the IFF_RUNNING flag.
(ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING
flag before calling if_flags_update.
|
| |
| |
| |
| |
| |
| |
| |
| | |
2008-01-08 Michael Larson <mike@vyatta.com>
* zebra_rib.c: (nexthop_active_check) Replace if_is_up with
if_is_operative to solve problems with static interface
routes not behaving properly with link-detect.
|
| |
| |
| |
| |
| |
| | |
Use socket filter to drop unwanted messages on the netlink listen socket.
This prevents problems where the listener socket buffer gets overrruns
with echos of the new route update that occurs when link changes.
|
| |
| |
| |
| |
| |
| | |
error msgs that occur under large routing tables when layer
2 event occurs.
|
| |
| |
| |
| | |
Re-enable handling of RTM_DELLINK.
|
| | |
|
|/
|
|
|
|
| |
cable pull (IFF_RUNNING) events and admin (IFF_UP) events.
On false for either event pulls routes from rib, and on true reinserts these back into kernel fib.
|
|
|
|
| |
existing static routes to be revalidated)
|
|
|
|
|
|
| |
the RIB debug changeset).
after
|
| |
|
|
|
|
| |
calls. Fixed.
|
| |
|
|
|
|
|
|
|
| |
of the first one before dying
+ we are not going to receive routing messages originated by old_pid,
because rib_sweep_route() is called after damon() now. This will allow
to drop old_pid completely soon.
|
| |
|
|
|
|
| |
to zlog_err() uninitialized with debug disabled. Fixed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
zebra/zebra_rib.c:nexthop_active_update())
|