summaryrefslogtreecommitdiffstats
path: root/zebra
Commit message (Collapse)AuthorAgeFilesLines
...
| | * [zebra] IRDP should ignore non-IPv4 addressesPaul Jakma2007-02-262-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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..
| | * [zebra] For solaris IPv6 PtP interfaces, try to support prefixlen != 128Andrew J. Schorr2006-12-132-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-12-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN. Instead, always try the SIOCGLIFSUBNET ioctl; if that fails, then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
| | * [PtP over ethernet] New peer flag allows much more addressing flexibilityAndrew J. Schorr2006-12-129-205/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-12-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating whether a peer address has been configured. Comment now shows the new interpretation of the destination addr: if ZEBRA_IFA_PEER is set, then it must contain the destination address, otherwise it may contain the broadcast address or be NULL. (CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete macros that were specific to IPv4 and not fully general. (CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag. (CONNECTED_PREFIX) New macro giving the prefix to insert into the RIB: if CONNECTED_PEER, then use the destination (peer) address, else use the address field. (CONNECTED_ID) New macro to come up with an identifying address for the struct connected. * if.c: (if_lookup_address, connected_lookup_address) Streamline logic with new CONNECTED_PREFIX macro. * prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros for better performance than the general prefix_copy function. * zclient.c: (zebra_interface_address_read) For non-null destination addresses, set prefixlen to equal the address prefixlen. This is needed to get the new CONNECTED_PREFIX macro to work properly. * connected.c: (connected_up_ipv4, connected_down_ipv4, connected_up_ipv6, connected_down_ipv6) Simplify logic using the new CONNECTED_PREFIX macro. (connected_add_ipv4) Set prefixlen in destination addresses (required by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead of testing for IFF_POINTOPOINT. Delete invalid warning message. Warn about cases where the ZEBRA_IFA_PEER is set but no destination address has been supplied (and turn off the flag). (connected_add_ipv6) Add new flags argument so callers may set the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning. Set prefixlen in destination address so CONNECTED_PREFIX will work. * connected.h: (connected_add_ipv6) Add new flags argument so callers may set the ZEBRA_IFA_PEER flag. * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro to decide whether the destination address is a peer or broadcast address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT). * if_ioctl.c: (if_getaddrs) Instead of setting a peer address only when the IFF_POINTOPOINT is set, we now accept a peer address whenever it is available and not the same as the local address. Otherwise (no peer address assigned), we check for a broadcast address (regardless of the IFF_BROADCAST flag). And must now pass a flags value of ZEBRA_IFA_PEER to connected_add_ipv4 when a peer address is assigned. The same new logic is used with the IPv6 code as well (and we pass the new flags argument to connected_add_ipv6). (if_get_addr) Do not bother to check IFF_POINTOPOINT: just issue the SIOCGIFDSTADDR ioctl and see if we get back a peer address not matching the local address (and set the ZEBRA_IFA_PEER in that case). If there's no peer address, try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set. * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl without bothering to check the IFF_POINTOPOINT flag. And if no peer address was found, just try the SIOCGLIFBRDADDR ioctl without checking the IFF_BROADCAST flag. Call connected_add_ipv4 and connected_add_ipv6 with appropriate flags. * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to connected_add_ipv6. * kernel_socket.c: (ifam_read) Must pass new flags argument to connected_add_ipv6. * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2 to determine local and possible peer address (so there's no longer a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately. Pass new flags argument to connected_add_ipv6. (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast to determine whether the connected destination address is a broadcast address. * bgp_nexthop.c: (bgp_connected_add, bgp_connected_delete) Simplify logic by using new CONNECTED_PREFIX macro. * ospf_interface.c: (ospf_if_is_configured, ospf_if_lookup_by_prefix, ospf_if_lookup_recv_if) Simplify logic using new CONNECTED_PREFIX macro. * ospf_lsa.c: (lsa_link_ptop_set) Using the new CONNECTED_PREFIX macro, both options collapse into the same code. * ospf_snmp.c: (ospf_snmp_if_update) Simplify logic using new CONNECTED_ID macro. (ospf_snmp_is_if_have_addr) Simplify logic using new CONNECTED_PREFIX macro. * ospf_vty.c: (show_ip_ospf_interface_sub) Use new CONNECTED_PEER macro instead of testing the IFF_POINTOPOINT flag. * ospfd.c: (ospf_network_match_iface) Use new CONNECTED_PEER macro instead of testing with if_is_pointopoint. And add commented-out code to implement alternative (in my opinion) more elegant behavior that has no special-case treatment for PtP addresses. (ospf_network_run) Use new CONNECTED_ID macro to simplify logic. * rip_interface.c: (rip_interface_multicast_set) Use new CONNECTED_ID macro to simplify logic. (rip_request_interface_send) Fix minor bug: ipv4_broadcast_addr does not give a useful result if prefixlen is 32 (we require a peer address in such cases). * ripd.c: (rip_update_interface) Fix same bug as above.
| | * [zebra] Changes of nexthops of static routes didnt take effectPaul Jakma2006-12-082-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | 2006-12-08 Piotr Chytla <pch@packetconsulting.pl> * zebra_rib.c: (static_install_ipv{4,6}) Case where existing RIB is updated must explicitely rib_addqueue the route_node, to ensure the update actually takes effect.
| | * [daemon startup] Add --dry-run/-C argument to daemons, to check config file ↵Paul Jakma2006-10-151-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | syntax 2006-10-04 Oliver Hookins <ohookins@gmail.com> * bgpd/bgp_main.c: Add configuration check option, with '-C' rather than '-c' for consistency between daemons. * isisd/isis_main.c: ditto * ospf6d/ospf6_main.c: ditto * ospfd/ospf_main.c: ditto * ripngd/ripng_main.c: ditto * vtysh/vtysh_main.c: ditto * ripd/rip_main.c: Change the config check option to '-C' and tidy up the code. * zebra/main.c: ditto 2006-10-04 Stergiakis Alexandros <astergiakis@antcor.com> * ripd/rip_main.c: This trivial patch introduces a new command-line option '-c', which instructs zebra/ripd to check its configuration file for validity, print any error message, and then exit. This is useful when the configuration file is edited by hand or otherwise, and you simply want to validate it without any other effect. * zebra/main.c: ditto
| | * 2006-09-13 Tom Everett <tom@khubla.com>Greg Troxel2006-09-132-0/+9
| | | | | | | | | | | | | | | * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to compile on systems that no longer define them.
| | * [zebra] trivial: rtadv.h depends on interface.hPaul Jakma2006-08-062-0/+3
| | | | | | | | | | | | | | | | | | 2006-08-06 Paul Jakma <paul.jakma@sun.com> * rtadv.h: depends on interface.h, so should include it.
| | * [zebra] fix inconsistencies in ifstat_update_* declarations and definitionsPaul Jakma2006-08-064-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-06 Paul Jakma <paul.jakma@sun.com> * interface.h: (ifstat_update_proc) declaration should match ifstat_update_sysctl really, which is to not return status, as such status is not used anywhere. * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values consistent with each other and their declarations, ie: (void) (*) (void).
| | * [zebra] IRDP: Move stream_free to where its created, probably fixing a leakPaul Jakma2006-08-043-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-01 Paul Jakma <paul.jakma@sun.com> * irdp_main.c: (irdp_advertisement) free the stream here, when done, right under where it was allocated so it's blindingly obvious it's correct. This possibly fixes a very slow leak of streams in zebra. * irdp_packet.c: (send_packet) don't free the stream here as it's hard to tell if right, plus an error case seemed to returning before free anyway.
| | * [zebra] add more stuff to misc_null to avoid compile breakagesPaul Jakma2006-08-042-0/+7
| | | | | | | | | | | | | | | | | | | | | 2006-08-04 Paul Jakma <paul.jakma@sun.com> * misc_null.c: Add ifstat_update_sysctl, add another required header.
| | * [testzebra] Patch to misc_null.c to get older gcc to recognize #pragma tricksAndrew J. Schorr2006-08-022-0/+10
| | | | | | | | | | | | | | | | | | | | | 2006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * misc_null.c: Must include header files to get older versions of gcc to process the #pragma statements properly.
| | * [zebra] Bug #268, Fix race between add/delete of routes, sanitise rib queueingPaul Jakma2006-07-273-176/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-07-27 Paul Jakma <paul.jakma@sun.com> * rib.h: (struct rib) Add a route_node rn_status flag field, this has to be copied every time head RIB of a route_node changes. Remove the rib lock field, not needed - see below. Add a status field for RIB-private flags. * zebra_rib.c: Add a global for the workqueue hold time, useful for testing. (general) Fix for bug #268. Problem originally detailed by Simon Bryden in [quagga-dev 4001]. Essentially, add/delete of a RIB must happen /before/ the queue. Best-path selection (ie rib_process) and reaping of freed RIBs can then be done after queueing. Only the route_node is queued - no important RIB state (i.e. whether a RIB is to be deleted) is queued. (struct zebra_queue_node_t) Disappears, no longer need to track multiple things on the queue, only the route_node. (rib_{lock,unlock}) removed, RIBs no longer need to be refcounted, no longer queued. (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted via the queue. (rib_queue_add_qnode) deleted (rib_queue_add) Only the route_node is queued for best-path selection, we can check whether it is already queued or not and avoid queueing same node twice - struct rib * argument is not needed. (rib_link/unlink) (un)link RIB from route_node. (rib_{add,del}node) Front-end to updates of a RIB. (rib_process) Reap any deleted RIBs via rib_unlink. Unset the route_node 'QUEUED' flag. (General) Remove calls to rib_queue_add where add/del node was called - not needed, update calls where not. Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes
| | * [zebra] Add 'debug zebra rib' commandsPaul Jakma2006-07-273-0/+82
| | | | | | | | | | | | | | | | | | 2006-07-27 Paul Jakma <paul.jakma@sun.com> * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'.
| | * [zebra] Add test rig code, for testing the zebra RIBPaul Jakma2006-07-278-0/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-07-27 Paul Jakma <paul.jakma@sun.com> * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations, useful for testing zebra code that calls such methods. * {redistribute,misc}_null.c: Dummy/Null methods, as above. But for zclient, and for various misc functions. * test_main.c: Test harness for zebra, currently just to test the RIB. * Makefile.am: Build testzebra using above. * zebra_rib.c: Add a global for the workqueue hold time, useful for testing.
| | * [zebra] Connected routes must always be added to main tablePaul Jakma2006-07-274-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-07-27 Rumen Svobodnikov <rumen@telecoms.bg> * connected.c: (connected_up_ipv4) interface connected routes always go to table main (or otherwise they cannot be used by linux as nexthops) * zserv.c: (zread_ipv4_add) send route to the correct routing table * zebra_rib.c (static_install_ipv4) set routing table
| | * [zebra] Fix CID #104, check addr for null, and #18, check nexthop type argsPaul Jakma2006-07-023-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-07-02 Paul Jakma <paul.jakma@sun.com> * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not proceed if addr is NULL. * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check required arguments are supplied for the given nexthop type.
| | * [zebra] Fix forgetfulness wrt configured address on FreeBSDPaul Jakma2006-06-153-21/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-06-15 Paul Jakma <paul.jakma@sun.com> * (general) The key fixes are actually Andrew Schorr's. * interface.c: (ip_address_uninstall) Unset the configured flag. * connected.c: (connected_same) new helper, check whether two connected are same. (connected_implicit_withdraw) new helper, consolidation of existing code in connected_add_ipv{4,6}. Try filter out unneeded Zserv address delete/adds when address is exact same. Where old address is implicitely removed, be sure to preserve the IFC_CONFIGURED flag if set, fixes bug where configured addresses were being lost on FreeBSD.
| | * [zebra] remove internal if_flag_dump, use libzebras version.Paul Jakma2006-06-152-45/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-06-15 Paul Jakma <paul.jakma@sun.com> * lib/if.c: (if_flag_dump) remove the whitespace indentation, callers should provide. * zebra/interface.c: (if_flag_dump_vty) redundant code, remove. (if_dump_vty) use libzebra if_flag_dump.
| | * [interface configuration] Try to avoid losing address info after shutdown.Andrew J. Schorr2006-05-212-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * if.h: (struct connected) Document the meaning of the ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. * connected.c: (connected_withdraw) Do not delete the connected address if the ZEBRA_IFC_CONFIGURED flag is set. (connected_add_ipv4,connected_add_ipv6) Before calling connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag on the superseded connected structure.
| | * [interface configuration] Preserve flag indicating address was set by quagga.Andrew J. Schorr2006-05-192-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-05-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * connected.c: (connected_add_ipv4,connected_add_ipv6) If the new struct connected matches an already existing one (that will consequently be removed by connected_withdraw), then be sure to preserve the ZEBRA_IFC_CONFIGURED flag.
| | * [debug] Improve zebra kernel socket debug message to include IP addresses.Andrew J. Schorr2006-05-172-3/+45
| | | | | | | | | | | | | | | | | | | | | 2006-05-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * kernel_socket.c: (ifam_read_mesg) Improve debug message to show the IP address.
| | * [zebra] Remove private command string tablePaul Jakma2006-05-152-29/+6
| | | | | | | | | | | | | | | | | | | | | 2006-05-15 Paul Jakma <paul.jakma@sun.com> * zserv.c: (general) Remove the private zebra_command_str in favour of newly added libzebra zserv_command_string.
| | * [zebra] CID #31, guard against potential NULL return of route_node_lookupPaul Jakma2006-05-112-2/+7
| | | | | | | | | | | | | | | | | | | | | 2006-05-11 Paul Jakma <paul.jakma@sun.com> * interface.c: (if_delete_update) route_node_lookup may return NULL, should fix Coverity CID #31.
| | * [zebra] arrange structs in padding-efficient manner and remove unused fieldPaul Jakma2006-03-302-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | 2006-02-09 Paul Jakma <paul.jakma@sun.com> * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid needless padding. (struct rib) Remove the indirect pointer, not used anywhere!
* | | Notify on MTU changesStephen Hemminger2008-10-081-36/+45
| | | | | | | | | | | | | | | Bugfix 3732 Notify routing protocols about MTU changes
* | | netlink message signed/unsigned cleanupStephen Hemminger2008-10-081-6/+6
| | | | | | | | | | | | | | | Avoid possible problems where netlink message is being formatted with unsigned 32 bit value, which was being read as int.
* | | fix ipv6 typo in recursive route update codeStephen Hemminger2008-09-181-1/+1
| | |
* | | remove incorrect debug messageStephen Hemminger2008-09-181-2/+0
| | |
* | | Add delete interface cleanoutStephen Hemminger2008-09-181-4/+4
| | | | | | | | | | | | | | | | | | | | | Quagga needs to fully cleanout state when interface is deleted from system. Bugfix: 3962, 3693
* | | Set metric in RIB for connected routesStephen Hemminger2008-09-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Set metric in RIB to keep OSPF happy, but don't set the metric in the kernel since the kernel portion of connected route has metric=0. Bugfix 3668
* | | Handle device renames correctlyStephen Hemminger2008-09-171-8/+13
| | | | | | | | | | | | | | | | | | Bugfix 3658 If inactive device is renamed, just do it. If active device is renamed, update RIB if needed.
* | | Set proper protocol for routes from command lineStephen Hemminger2008-09-171-2/+10
| | | | | | | | | | | | | | | | | | Bugzilla 3681 fix. Routes from 'ip route' default to protocol boot. Need to use this same value when deleting or udpating.
* | | Fix up filtering of netlink pidStephen Hemminger2008-08-181-10/+11
| | | | | | | | | | | | | | | | | | There are two distinct pid's in netlink message. The one in the receive address is the pid of the sender (ie kernel), the other in the netlink message is the originator (ie quagga or ip command).
* | | Revert "Filter messages so that only netlink messages from kernel are allowed."Stephen Hemminger2008-08-181-19/+27
| | | | | | | | | | | | This reverts commit e5d63369e1f3fdc1c22ae15fe477de1f97022703.
* | | Use XCALLOCStephen Hemminger2008-08-183-32/+13
| | | | | | | | | | | | Replace calls to XMALLOC followed by memset with XCALLOC.
* | | Filter messages so that only netlink messages from kernel are allowed.Stephen Hemminger2008-08-181-27/+19
| | | | | | | | | | | | | | | This is a refinement of the socket filter, and also closes a security hole that would allow non-kernel messages to confuse quagga.
* | | Manage system routes with zebraStephen Hemminger2008-08-1511-128/+139
| | | | | | | | | | | | | | | | | | This adds a new flag to the zebra daemon that causes it to add and remove system routes (ie connected and kernel routes). This causes user space (zebra) to do what the kernel was doing in hollwood.
* | | Cleanup meta-queue codeStephen Hemminger2008-08-111-64/+70
| | | | | | | | | | | | | | | | | | | | | | | | Do some cleanup work on recently added meta-queue code: * use table rather than switch * indent with quagga standard indentation * since meta_queue_new is only used at initialization allocation failure should be fatal.
* | | Make command nodes staticStephen Hemminger2008-08-112-4/+4
| | | | | | | | | | | | | | | The cmd_nodes used to configure vty, can mostly be static so (basic data hiding 101).
* | | Realign rib code with upstreamStephen Hemminger2008-08-011-33/+31
| | | | | | | | | | | | May also fix one issue with ipv6 static routes.
* | | Make metaqueue functions staticStephen Hemminger2008-08-011-5/+5
| | | | | | | | | | | | This stuff is only used in RIB code
* | | Make log message lookup function use const tablesStephen Hemminger2008-08-012-3/+3
| | | | | | | | | | | | Message tables should be unaltered.
* | | Fix merge problemsStephen Hemminger2008-07-311-1/+1
| | | | | | | | | | | | Get rid of some conflicts / overlaps from merge of upstream.
* | | Merge branch 'upstream' into islavistaStephen Hemminger2008-07-3110-59/+205
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog NEWS bgpd/ChangeLog bgpd/bgp_attr.c bgpd/bgp_network.c bgpd/bgp_packet.c bgpd/bgp_vty.c bgpd/bgpd.c bgpd/bgpd.h lib/sockopt.c lib/sockopt.h lib/zebra.h mkinstalldirs zebra/rib.h zebra/rt_netlink.c
| * | [zebra] Make BSD link-state deal more gracefully with GIFMEDIA ioctl errorpaul2008-07-012-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-07-01 Paul Jakma <paul.jakma@sun.com> * ioctl.c: (if_get_flags) Deal more gracefully with failure of the BSD link-state SIOCGIFMEDIA ioctl, as some interfaces apparently don't implement it (e.g. tun). Also, make BSD link-state checking be conditional on the 'link-detect' interface configuration flag, as it should be. Fixes bug #465.
| * | + initial edition of meta-queue for RIB updates processing (bug #431)pilot2008-06-025-41/+164
| | |
| * | [daemons] Sanity check port number arguments before usepaul2008-05-291-1/+2
| | | | | | | | | | | | | | | | | | 2008-05-29 Martin Nagy <mnagy@redhat.com> * */*main.c: Sanity check port numbers before using.
| * | [zebra/linux] Use BPF to filter out responses, to try avoid netlink overrunspaul2008-05-292-1/+60
| | | | | | | | | | | | | | | | | | | | | | | | 2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com> * rt_netlink.c: (netlink_install_filter) BPF filter to catch and drop responses to zebra's own route messages. (kernel_init) add BPF filter on the netlink socket.
| * | + 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.