| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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())
|
| |
|
| |
|
|
|
|
|
|
|
| |
2007-08-06 Denis Ovsienko
* zebra_rib.c: (general) Add extra debug logging for RIB and
RIB queue.
|
|
|
|
| |
Fix indentation to match accumulated changes.
|
|
|
|
|
|
|
|
|
|
|
| |
2007-08-02 Denis Ovsienko
* rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes
are intended. Don't set FIB flag on failed additions (such as
occur with multiple paths.
http://bugzilla.quagga.net/attachment.cgi?id=235&action=view
|
|
|
|
|
|
|
|
|
| |
2007-06-25 Denis Ovsienko
* zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB
is using 'same' variable, but RIB_ENTRY_REMOVED check
is testing the constant 'rib' variable, fix. Impact
unknown at this point.
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6'
as needed.
* zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use
'#ifdef HAVE_IPV6' as needed.
(show_ip_protocol) Move function definition outside of
'#ifdef HAVE_IPV6' section.
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY
addresses from the message (if present, which seems unlikely on
current BSD platforms), and show them in the debug messages.
Also, add ifam_flags to the debug messages.
(ifam_read) If the interface is point-to-point, then the RTA_BRD
address should be treated as a peer address.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-09 Paul Jakma <paul.jakma@sun.com>
* configure.ac: sys/conf.h depends on sys/param.h, at least on
FBSD 6.2.
(bug #363) Should check for in_pktinfo for IRDP
2006-05-27 Paul Jakma <paul.jakma@sun.com>
* configure.ac: General cleanup of header and type checks, introducing
an internal define, QUAGGA_INCLUDES, to build up a list of
stuff to include so as to avoid 'present but cant be compiled'
warnings.
Misc additional checks of things missing according to autoscan.
Add LIBM, for bgpd's use of libm, so as to avoid burdening
LIBS, and all the binaries, with libm linkage.
Remove the bad practice of using m4 changequote(), just
quote the []'s in the case statements properly.
This should fix bugs 162, 303 and 178.
* */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced
HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN,
* bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow().
|
|
|
|
|
| |
* zebra_routemap.c should have been in the commit of Steven's
routemap patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-05-01 David L Stevens <dlstevens@us.ibm.com>
* (general) These changes collectively add route-map and
prefix-list support to zebra and fix a bug in "show
route-map" (with no argument).
* doc/main.texi: added route-map, prefix-list, ip protocol
and set src documentation
* lib/command.h: added PROTOCOL_NODE type
* lib/log.c: (proto_name2num) new function, protocol name to
number translation.
* lib/routemap.c: (vty_show_route_map) fixed "show route-map"
without route-map name
* lib/routemap.h: added RMAP_ZEBRA type
* lib/zebra.h: added proto_name2num() prototype
* vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and
plist
* vtysh/Makefile.am: added zebra_routemap.c
* vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP
* zebra/connected.c: (connected_up_ipv4) added src preference argument
to rib_add_ipv4()
* zebra/kernel_socket.c: (rtm_read) ditto
* zebra/main.c: added prefix list initialization
* zebra/Makefile.am: added zebra_routemap.c source file
* zebra/rib.h: added generic address union "g_addr" and use in
existing places that had an explicit union.
Added "src" to struct nexthop.
Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.
* zebra/rt_netlink.c: (netlink_routing_table) set preferred source on
netlink messages.
(netlink_route_change) ditto
(netlink_route_multipath) ditto.
* zebra/rtread_getmsg.c: (handle_route_entry) added (NULL) src to
rib_add_ipv4() call.
* zebra/rtread_proc.c: (proc_route_read) ditto
* zebra/zebra_rib.c: (nexthop_ipv4_add) add src argument.
(nexthop_ipv4_ifindex_add) ditto
(rib_add_ipv4) ditto
(nexthop_active_check) Add route-map processing.
* zebra/zebra_routemap.c: new file for zebra route-map commands.
* zebra/zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol
(vty_show_ip_route_detail) added "src" printing
(vty_show_ip_route) ditto
(show_ip_protocol_cmd) new command, list routemaps.
(config_write_protocol) write out routemap protocl config.
(zebra_vty_init) Install the new routemap protocol commands.
* zebra/zserv.c: (zread_ipv4_add) added (NULL) src arg
(zebra_init) init zebra route-maps.
* zebra/zserv.h: add zebra_route_map_init
|
|
|
|
|
|
|
| |
2007-04-29 Paul Jakma <paul.jakma@sun.com>
* if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed
to lifreq_set_name().
|
|
|
|
|
|
| |
2007-04-29 Paul Jakma <paul.jakma@sun.com>
* ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit.
|
|
|
|
|
| |
already marked "real" (ZEBRA_IFC_REAL), i.e., "in kernel." According
to Paul Jakma, this probably fixes Quagga bug #202.
|
|
|
|
|
|
|
| |
2007-04-10 Paul Jakma <paul.jakma@sun.com>
* ioctl{_solaris,}.c: (if_get_mtu) Ping clients via
zebra_interface_up_update if MTU is changed.
|
|
|
|
|
|
|
|
| |
2007-04-08 Paul Jakma <paul.jakma@sun.com>
* interface.c: (if_delete_update) Address removal triggered
by kernel shouldn't remove configured IPv4 address from connected
list.
|
|
|
|
|
|
|
|
| |
2007-04-08 Paul Jakma <paul.jakma@sun.com>
* {ioctl,kernel}_null.c: Install of IP address should
reflect back to zebra via kernel_address_add..., makes
testzebra more useful.
|
|
|
|
|
|
|
|
|
|
|
| |
2007-04-07 Paul Jakma <paul.jakma@sun.com>
* lib/prefix.h: Add define to match IPv4 Link-Local addresses
* zebra/redistribute.c: (zebra_check_addr) Don't redistribute routes
to IPv4 link-local prefixes, fixes bug #351.
* zebra/redistribute.h: Export zebra_check_addr.
* zebra/router-id.c: (router_id_bad_address) re-use zebra_check_addr
rather than implementing similar logic.
|
|
|
|
|
|
|
|
|
| |
2007-03-06 Paul Jakma <paul.jakma@sun.com>
* kernel_socket.c: (ifam_read) Do not update interface metric on
receipt of NEW/DEL ADDR messages, bogus as: a) some systems
dont include iface metric for address events b) we didn't
update clients either. Initial diagnosis by Eugene Grosbein.
|
|
|
|
|
|
|
|
| |
2007-02-26 Robert Olsson <Robert.Olsson@data.slu.se>
* irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
i.e. do not try interpret IPv6 addresses as IPv4 addresses
to broadcast in IRDP announcements..
|