summaryrefslogtreecommitdiff
path: root/zebra
AgeCommit message (Collapse)Author
2004-01-06increase buffer size for kernel readsgdt
2004-01-05Fix incorrect test in previous commit; thanks to Sowmini Varadhan forgdt
catching this.
2004-01-052004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>gdt
* kernel_socket.c (kernel_read): Look up interfaces by index first, so that state changes which do not include a sockaddr_dl now work. Add many sanity checks. In particular, do not assume that a sockaddr_dl follows a message without checking the ifm_addrs flags, and do not trust the length in a sockaddr_dl. Add/clarify many comments.
2003-12-23Merge isisd into the Quagga's framework:jardin
- add privs support - use misc quagga's definitions - make it compile"able" - fix segfault cases related to hostname() - add debug isis xxx command This patch has been approved by Paul Jakma.
2003-12-03reorder includes to avoid warning.gdt
fixes rest of bug #62
2003-12-03Add support for --enable-exampledir to specify where to place examplegdt
files, defaulting to sysconfdir (matching previous behavior). This is needed to support (cleanly) NetBSD pkgsrc, which requires that example config files go in $(prefix)/share/examples/pkgname, rather than in $(prefix)/etc/pkgname.
2003-11-172003-11-17 Jay Fenlason <fenlason@redhat.com>paul
* zebra/rt_netlink.c: netlink_parse_info() ignore messages which are not from kernel. Reported to RH by Herbert Xu. See http://rhn.redhat.com/errata/RHSA-2003-307.html and CAN-2003-0858.
2003-11-022003-11-02 Krzysztof Oledzki <oleq@ans.pl>paul
* zebra/zebra_rib.c: Revert patch (dating from zebra.org) which caused zebra to read all routes in all tables, rather than just the main table. See [quagga-dev 280].
2003-10-282003-10-27 Gilad Arnold <gilad.arnold@terayon.com>paul
* zebra/zebra_rib.c: (nexthop_active_update) Check for multipath limit when setting changed flag to avoid spurious changes. (static_install_ipv{4,6}) dont uninstall by default, might not be required - avoid spurious uninstalls. (static_uninstall_ipv{4,6}) only uninstall the route if its actually FIB route.
2003-10-242003-10-24 Paul Jakma <paul@dishone.st>paul
* configure.ac: Check for fcntl() * {bgpd,ospf,ospf6d,ripd,ripngd}/Makefile.am: Install conf file via regular automake means, not magic install incantations, see bug #38. * lib/Makefile.am: install the headers, needed to link libzebra.a (and hence libospf.a, OSPF-API, etc.)
2003-10-222003-10-22 Paul Jakma <paul@dishone.st>paul
* zebra/kernel_socket.c: HAVE_IPV6 conditional for WRAPUP when HAVE_SA_LEN is not defined. bcopy -> memcpy, bcopy is not portable.
2003-10-222003-10-22 Paul Jakma <paul@dishone.st>paul
* lib/regex.c: bzero -> memset * zebra/ioctl.c: ditto. bzero is not portable.
2003-10-132003-10-13 Douglas Fraser <doug+quagga@idmf.net>paul
* zebra/connected.c: PtP revert fixup. Zebra was not creating connected route for PtP peer.
2003-10-072003-10-07 Tarhon-Onu Victor <mituc@iasi.rdsnet.ro>paul
* zebra/ipforward_proc.c: (ipforward) Close the fd for /proc/net/snmp. See [quagga-dev 284]
2003-09-292003-09-29 Gilad Arnold <gilad.arnold@terayon.com>paul
* zebra/zebra_rib.c: Fix possible dangling reference to rib route_nodes - unlock it the appropriate number of times. (twice, because of the implicit lock). see [quagga-dev 251].
2003-09-292003-09-29 Paul Jakma <paul@dishone.st>paul
* zebra/connected.c: revert the 'generic PtP' patch as it causes far too many problems. People who use FreeSWAN should investigate native linux ipsec. * zebra/rt_netlink.c: ditto * lib/if.c: ditto * ripd/ripd.h: ditto * ripd/ripd.c: ditto * ripd/rip_interface.c: ditto * ospfd/ospfd.c: ditto * ospfd/ospf_snmp.c: ditto * bgpd/bgp_nexthop.c: ditto
2003-09-242003-09-24 sowmini.varadhan@sun.compaul
* zebra/kernel_socket.c: Fix up WRAPUP macro to deal with multiple address families in the absence of sa_len element in struct sockaddr. (ifm_read): Handle solaris 9 if_msghdr_t. Deal with interfaces which are incomplete, lookup on name rather than the placeholder interface index of -1.
2003-08-272003-08-27 Jay Fenlason <fenlason@redhat.com>paul
* bgpd/bgp_routemap.c: attr->med is type u_in32_t, should be compared with UINT32_MAX * ospfd/ospfd.c: remove redundant assert * zebra/rtadv.c: add missing include for zebra/rib.h
2003-08-272003-08-27 Jay Fenlason <fenlason@redhat.com>paul
* lib/Makefile.am: Do not use a lib (libcap) as a dependency * zebra/Makefile.am: Link in libcap
2003-08-142003-08-14 Paul Jakma <paul@dishone.st>paul
* zebra/main.c: Fixup ZEBRA_{GROUP,USER} defines -> QUAGGA_{USER,GROUP} * bgpd/bgp_main.c: ditto * ospf6d/ospf6_main.c: ditto * ospfd/ospf_main.c: ditto * ripd/rip_main.c: ditto * ripngd/ripng_main.c: ditto * zebra/main.c: ditto
2003-08-102003-08-10 amir <amir@datacore.ch>paul
* Add missing 'i' to getopts, short form of --pid_file. see http://bugzilla.quagga.net/show_bug.cgi?id=25
2003-08-012003-08-01 Cougar <cougar@random.ee>paul
* lib/if.c: (if_cmp_func) new function, compare interface names in alphabetical order. (if_create) Take name as argument and add interface in sorted order. (if_get_by_name),(interface_cmd) fixup calls to if_create - see above. (if_init) register list comparison function. * lib/if.h: Add comparison function, modify if_create prototype. * lib/zclient.c: Modify call to if_create. * ospfd/ospf_interface.c: (ospf_vl_new) modify call to if_create. change sprintf to snprintf. * zebra/kernel_socket.c: (ifm_read) modify call to if_create.
2003-07-152003-07-15 Paul Jakma <paul@dishone.st>paul
* lib/version.h: add ZEBRA_URL (unused for now) * lib/vty.c: CMD_ERR_NOTHING_TODO when reading conf file should not be fatal. slight reformating. * ospfd/ospf_zebra.c: ignore reject/blackhole routes if zebra sends these type of routes. probably should be a new type of route to allow daemons to more easily choose whether to redistribute them - rathen than just a flag (eg for reject/blackhole). reorder the is_prefix_default test for ZEBRA_IPV4_ROUTE_DELETE to avoid the inverted test - slightly more readable. * redhat/zebra.spec.in: Add ospfapi port to services file, if with_ospfapi. * zebra/rib.h: Change nexthop types to an enum. * zebra/rt_netlink.c: run it through indent -nut. Add nexthop_types_desc[] descriptive array for nexthop types. (netlink_route_multipath) debug statements indicate which branch they are in and print out nexthop type. * zebra/zebra_rib.c: slight reformatting. * zebra/zebra_vty.c: Pass ZEBRA_FLAG_BLACKHOLE flag to static_add_ipv4() if Null0 route is configured. print out Null0 if STATIC_IPV4_BLACKHOLE route, and ignore flags (shouldnt be possible to set flags from vty) for config and show route.
2003-07-122003-07-12 Matthias Ferdinand <mferd@sanet.de>paul
* zebra/if_proc.c: zebra does not close the file after reading /proc/net/dev for retrieving interface names and statistics. call fclose(fp) before returning from ifstat_update_proc() or interface_list_proc()
2003-07-112003-06-11 Paul Jakma <paul@dishone.st>paul
* zebra/if_ioctl.c: Fix missing declaration for if_fake_index. See bug id #24: http://bugzilla.dishone.st/show_bug.cgi?id=24 reported by Vsevolod Sipakov.
2003-07-082003-07-8 Chris Andrews <chris@nodnol.org>paul
* zebra/kernel_socket.c: Update for new zebrad global struct * zebra/ipforward_solaris.c: Add missing privs.h include. Uncomment /dev/ip define. * lib/zebra.h: Add typedefs for SunOS.
2003-06-192003-06-19 Vladimir Ivaschenko <hazard@francoudi.com>paul
* zebra/rt_netlink.c: Debug statements added to netlink_route_multipath() * zebra/zebra_rib.c: If route has a gateway, delete only existing route with that specified gateway.
2003-06-192003-06-19 Paul Jakma <paul@dishone.st>paul
* Fix lib/smux.c's reliance on daemons exporting struct thread_master *master.
2003-06-152003-06-15 Paul Jakma <paul@dishone.st>paul
* lib/vty.{c,h}: Remove vty layer depending on a 'master' global, pass the thread master in explicitly to vty_init. Sort out some header dependency problems with lib/command.h * zebra/: Move globals to struct zebrad. Update vty_init(). * (.*)/\1_main.c: update call to vty_init().
2003-06-122003-06-12 Paul Jakma <paul@dishone.st>paul
* zebra/ioctl.c: Properly zero-out struct ifreq before passing it to the SIOCSIFFLAGS ioctl(2), so that it doesn't occasionally trigger promisc mode on interface. Reported/tested by: Vladimir B. Grebenschikov <vova@sw.ru> (patch snarfed taken from FreeBSD ports)
2003-06-072003-06-07 Paul Jakma <paul@dishone.st>paul
* (zebra/rtadvc.): can not set checksum for ICMPV6, see: From: Jun-ichiro itojun Hagino <itojun@iijlab.net> Subject: [zebra 11052] setsockopt(IPV6_CHECKSUM) does not work for ICMPv6 socket setsockopt(IPV6_CHECKSUM) does not work for ICMPv6 socket. RFC2292 may not be clear enough about it (it talks about raw socket and ICMPv6 socket mixed up), but the next revision (draft-ietf-ipngwg-rfc2292bis-02.txt) is very clear about it. > An attempt to set IPV6_CHECKSUM for an ICMPv6 socket will fail.
2003-06-062003-06-07 Paul Jakma <paul@dishone.st>paul
* Revert Cougar's sort interface names patch, causes problems with enabling of interfaces for OSPF in ospfd.
2003-06-05Patch from Cougar - sort iflist by name.hasso
2003-06-05Unbreak router advertisment feature when using capabilities.hasso
2003-06-042003-06-04 Paul Jakma <paul@dishone.st>paul
* Merge of zebra privileges
2003-05-28IPv4 part of "make reject|blackhole routes work without nexthop|interface".hasso
2003-05-25Fix missing else in static_add_ipv4() which was causing case of (!ifname)paul
to always be considered to be a blackhole route. (if gate is passed in, it cant be).
2003-05-25Add back support for null0 interface blackhole routes.paul
2003-05-25Last fixes from 6Wind patch.hasso
2003-05-25Route (reject|blackhole) support from 6Wind patch.hasso
2003-05-25"ip forwarding" command. Patch from Jim Crumpler.hasso
2003-05-24Jim Crumpler:paul
working ipforward_solaris.c
2003-05-24From: Hasso Tepper <hasso@estpak.ee>paul
ensure only interfaces that are inactive or do not exist can be deleted
2003-05-23From: Hasso Tepper <hasso@estpak.ee>paul
Add the 'no interface' command to all the daemons and vtysh. now it's possible to delete interface from routeing daemons as well only if it doesn't exist in os. http://hasso.linux.ee/zebra/ht-no_interface_fix.patch
2003-05-23Undo Hasso last patch, about to apply a slightly updated patch.paul
2003-05-23From: Hasso Tepper <hasso@estpak.ee>paul
http://hasso.linux.ee/zebra/ht-no_interface-23052003.patch Add the 'no interface' command to all the daemons and vtysh.
2003-05-16Update Changelogspaul
2003-05-16From: Gilad Arnold <gilad.arnold@terayon.com>paul
Subject: [zebra 19084] Re: suspected memory leakage upon static route I believe this is a more complete patch, it also addresses allocating/freeing of nexthop->ifname string buffer (1) using XSTRDUP/XFREE macros (thus correctly updating memory statistics), and (2) for all nexthop->type cases that carry an ifname string.
2003-05-14From: Gilad Arnold <gilad arnold at terayon com>paul
Subject: [zebra 19080] suspected memory leakage upon static route deletion upon deletion of a static route entry, at the end of zebra/zebra_rib.c/static_delete_ipv4(), there's a call to XFREE to deallocate the 'struct static_ipv4'. However, in the case of a static with ifname as nexthop (type==STATIC_IPV4_IFNAME), this struct holds a pointer to a dynamically allocated ifname string buffer (si->gate.ifname, see its allocation within static_add_ipv4() using XSTRDUP). IMO, the attached patch is required. Notes: the same applies to IPv6 statics as well (fix included in patch); and, I admit I haven't yet tested that, but it seems simple enough to be working... ;->
2003-04-19From: Israel Keys <ikeys@agile.tv>paul
Subject: [zebra 18677] zebra initialisation bug and patch Hi All, I have found a bug in zebra that prevents its routing table and interface database from being initialised properly. The problem occurs when a request is made via the netlink socket but the kernel produces a EWOULDBLOCK/EAGAIN when the result is trying to be retrieved via a recvmsg(). Zebra does not do anything about this and continues to function (with an empty routing table and interface list) as if nothing has happened. With no such information the routing protocol dosn't work! Two functions are called during the initialisation of Zebra: interface_lookup_netlink() and netlink_route_read() - obtaining the interfaces and routing table from the kernel respectively. These are the only time these functions are called. These functions, interface_lookup_netlink() and netlink_route_read(), use netlink_parse_info() to recieve the data from the netlink socket. The problem is, netlink_parse_info() returns (without error) when its call to recvmsg() results in an errno EWOULDBLOCK/EAGAIN. This behaviour is expected by other funtions calling netlink_parse_info() - netlink_parse_info is simply recalled at a later stage. However, on initialisation it is never recalled. Since zebra is expected to nothing else during initialisation it was easiest to temporarily change the netlink socket to BLOCK and wait indefinently until the kernel responds with the required information. Attached is a patch with these changes. Comments and questions are welcome. Please inform me if this patch is added to the Zebra source. --israel