summaryrefslogtreecommitdiffstats
path: root/zebra
Commit message (Collapse)AuthorAgeFilesLines
* netlink interface minor stuffStephen Hemminger2008-05-283-23/+20
| | | | Add more prototypes and make some functions static
* get rid of duplicate includesStephen Hemminger2008-05-281-3/+0
| | | | included same file twice
* Fix compiler warningsStephen Hemminger2008-05-284-5/+14
| | | | | | | | To eliminate compiler warnings * comment out unused code * fix printf formats * remove always true expression * initialize variables
* Add ipv6 link detect hooksStephen Hemminger2008-05-284-4/+44
| | | | Enable ipv6 link detect in kernel if needed.
* Change how link-detect is configured in buildStephen Hemminger2008-05-271-2/+1
| | | | | Rather that looking for /proc/sys/net/ipv4/conf, use --enable-linkdetect flag to configure.
* Turn on kernel link-detectStephen Hemminger2008-05-225-3/+118
| | | | | If interface has link-detect enabled, try and turn on link-detect in the kernel.
* only set non-blocking on netlink socketStephen Hemminger2008-05-191-133/+50
| | | | | | 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.
* remove unneeded privledge changesStephen Hemminger2008-05-191-12/+3
| | | | | | 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().
* Merge branch 'hollywood' of suva.vyatta.com:/git/vyatta-quagga into hollywoodStephen Hemminger2008-05-152-29/+34
|\
| * Merge branch 'glendale' into hollywoodrbalocca2008-05-151-8/+8
| |\
| | * Merge branch 'glendale' of suva.vyatta.com:/git/vyatta-quagga into glendaleStephen Hemminger2008-05-121-1/+7
| | |\
| | * | set/check nl port id on messagesStephen Hemminger2008-05-021-8/+8
| | | | | | | | | | | | | | | | | | | | The talk netlink socket should set it's own pid value, so they can be ignored in listener.
| * | | Manage link state on non-connected static routesStephen Hemminger2008-05-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Ignore netlink interface events that don't change stateStephen Hemminger2008-05-131-20/+24
| | | | | | | | | | | | | | | | | | | | Netlink can notify us about changes that don't affect operative state of the interface. So ignore these type of events.
* | | | Rearrange RIB structures to save memoryStephen Hemminger2008-05-151-29/+30
|/ / / | | | | | | | | | | | | | | | 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.
* | | Merge branch 'hollywood' of suva.vyatta.com:/git/vyatta-quagga into hollywoodStephen Hemminger2008-05-071-15/+25
|\ \ \
| * \ \ Merge branch 'glendale' into hollywoodrbalocca2008-05-071-15/+25
| |\ \ \ | | | |/ | | |/|
| | * | quiet noisy errors from zebraStephen Hemminger2008-05-021-1/+7
| | |/ | | | | | | | | | It is a harmless event when BGP tries to delete already deleted routes.
| | * filter out all route change responses on listen socketStephen Hemminger2008-05-021-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Add interface state change loggingStephen Hemminger2008-05-071-2/+11
|/ / | | | | | | Fix bug 487 by adding logging into quagga/zebra.
* | Merge branch 'glendale' into hollisterStephen Hemminger2008-04-292-5/+58
|\|
| * Two passes on update (ipv4 and ipv6)Stephen Hemminger2008-04-291-3/+13
| | | | | | | | | | | | | | | | 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.
| * Check nexthop statusStephen Hemminger2008-04-281-20/+20
| | | | | | | | | | | | 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 nexthop for internal routesStephen Hemminger2008-04-261-0/+22
| | | | | | | | | | | | Check if nexthop is active when doing RIB update. This should fix issues with static routes staying active after link going down.
| * mark static routes as inactive when link is downStephen Hemminger2008-04-241-2/+23
| | | | | | | | | | | | 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.
* | Merge branch 'glendale' into hollywoodrbalocca2008-04-211-1/+1
|\|
| * Fix packet filter state machineStephen Hemminger2008-04-151-1/+1
| | | | | | | | | | | | | | The filter rules were incorrect (jump to wrong offset), so the kernel would not accept them. Fixes: 2570
* | Merge branch 'upstream' into hollywoodTom Grennan2008-04-105-0/+133
|\ \ | |/ |/| | | | | | | | | Conflicts: ChangeLog zebra/zebra_rib.c
| * + fix bug#326 by rib_lookup_and_pushup()pilot2008-02-264-0/+64
| |
| * [link-detect] Improve BSD support.ajs2008-01-113-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * [link-detect] Try to get BSD link-detect to work properly.ajs2008-01-103-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * [link-detect] Static interface routes should behave properly with link-detect.ajs2008-01-082-3/+9
| | | | | | | | | | | | | | | | 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.
* | Filter unwanted netlink messagesStephen Hemminger2008-03-311-1/+32
| | | | | | | | | | | | 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.
* | bumped up netlink recv buffer limits for zebra--should alleviate netlink ↵Michael Larson2008-03-201-2/+2
| | | | | | | | | | | | error msgs that occur under large routing tables when layer 2 event occurs.
* | Bugfix: 2845Bob Gilligan2008-03-051-2/+0
| | | | | | | | Re-enable handling of RTM_DELLINK.
* | fix for bug 2570. increased buffer length from 4096 to 8192root2008-01-151-1/+2
| |
* | fix for static interface and static nexthop routes for quagga. Now respects ↵Michael Larson2008-01-043-11/+12
|/ | | | | | 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.
* + fixed bug #418 (changing address on an existing interface doesn't cause ↵pilot2007-11-122-0/+22
| | | | existing static routes to be revalidated)
* + fix the bug reported by Milan Kocian (IPv6 route handling was broken by ↵pilot2007-10-242-0/+11
| | | | | | the RIB debug changeset). after
* + rib_process() speedup for multi-nexthop route nodespilot2007-10-042-2/+8
|
* + Minor bugfix: IPv6 prefixes were logged incorrectly in RIB debugging ↵pilot2007-10-032-11/+17
| | | | calls. Fixed.
* + sayonara old_pid!pilot2007-09-145-11/+6
|
* + fixed bug #402: now the second zebra process doesn't destroy routespilot2007-09-142-5/+20
| | | | | | | 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.
* Switch from LOOKUP() to lookup() for rtm_type (see bug #401 for details).pilot2007-09-144-13/+19
|
* * rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passedpilot2007-09-122-0/+8
| | | | to zlog_err() uninitialized with debug disabled. Fixed.
* + fixed bug #400: adjusted rtread_sysctl.c:route_read()pilot2007-09-062-0/+8
|
* Looks like bug #320 is finally fixed now.pilot2007-08-212-0/+11
|
* Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operationpilot2007-08-212-14/+16
|
* Fixed bug #394 "RTF_DONE is ignored in rtm_read()"pilot2007-08-172-2/+7
|
* Merged own patch for bug #390 (rewrite ↵pilot2007-08-142-12/+22
| | | | zebra/zebra_rib.c:nexthop_active_update())