| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Earlier commit for Bug 3434 caused removed routes not to be marked
as SELECTED. This caused them not to be removed. Fix is to always
check both flags.
Bugfix 3479
|
|
|
|
|
| |
When multipath is being used, the state of one nexthop maybe down,
but another one may be up.
|
|
|
|
|
|
|
|
| |
This includes two fixes. First entries that are marked for removal
should not be used (clear SELECTED flag). Also, when recursive route
changes, the CHANGED flag needs to be set to force update.
Bugfix 3434
|
|\ |
|
| |
| |
| |
| | |
The command to turn off zebra rib debugging was wrong.
|
| |
| |
| |
| |
| |
| | |
Revert "Revert "Only announce connected routes if link is detected""
This reverts commit 38701029fe978ca18645408771414a91588413d3.
|
|/
|
|
|
| |
Adding a route that already exists, or deleting a route that is
already gone, should not be an error.
|
|
|
|
|
|
| |
Want to remember connected routes even if they aren't active at the
current time.
This reverts commit 84cc940a9b74d5a867a5598f4b0f6c657eb61c9c.
|
|
|
|
|
|
|
|
| |
If a link state change event causes a different nexthop, then
the RIB (and FIB) need to be updated. Solved by forcing the CHANGED
flag. This code could be rearranged to be cleaner in future.
Bugfix 3434
|
|
|
|
|
| |
Bugfix 3433, 3434
Need to rescan for recursive routes after any change to static route.
|
|
|
|
|
| |
This is the IPV6 analog to earlier changes to IPV4 static route
management.
|
|
|
|
|
|
|
| |
Need to handle all the different flavors of connected routes
in linkstate management
Bugfix: 2904, 3416
|
|
|
|
|
| |
The route_info table can be static const, and the vrf_table can be
static.
|
|
|
|
|
| |
Need to check both IFF_UP and IFF_RUNNING if link-detect is enabled,
before announcing routes.
|
|
|
|
|
| |
This reverts commit a182091782d22218942466b062c5ef2406853491.
More changes that should NOT go into hollywood
|
|
|
|
|
| |
This reverts commit 17cf20dabb137205497d81f7c55efa45a4e50748.
Stuff for next release snuck into hollywood branch
|
| |
|
|
|
|
|
|
|
|
| |
Having kernel cleanup FIB was not ideal for a couple reasons:
1. It still generates lots of netlink events if there are lots
of static routes.
2. Kernel changes were not accepted in mainline kernel "do it in
userspace"
|
|
|
|
| |
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.
|