summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-18[ospf6d] Fix ospf6d crash if range defined twiceJon
ospf6d will crash if the same range is defined twice. There was no check if the same range had previously been defined, thereby causing a later assert to fail.
2009-06-18[ospfd] Fix OSPF route refcount leakStephen Hemminger
This may fix vyatta BUG 3096. The reference count for OSPF route table was never completely freed on deleting all neighbors.
2009-06-18[zebra] Only announce connected routes if link is detectedStephen Hemminger
Need to check both IFF_UP and IFF_RUNNING if link-detect is enabled, before announcing routes.
2009-06-18[zebra] MTU is unsignedStephen Hemminger
The MTU data in the netlink message is always unsigned 32 bits. Don't use integer.
2009-06-18[zebra] remove incorrect debug messageStephen Hemminger
2009-06-18[zebra] Cleanup meta-queue codeStephen Hemminger
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.
2009-06-18[zebra] netlink interface minor cleanupStephen Hemminger
Add more prototypes and make some functions static
2009-06-18[zebra] Fix vyatta bug 2814: Add "show ip route summary" command.Stig Thormodsrud
2009-06-18[vtysh] Add a --noerror optionStephen Hemminger
There are times that configuration scripts want to run vtysh but don't want to get error messages or failed exit status
2009-06-18[vtysh] Return non-zero exit code on error.Stephen Hemminger
If passed a bad command, return non-zero exit code
2009-06-18[vtysh] Make vtysh more useable for scriptingStephen Hemminger
Add environment variable (VTYSH_LOG) for logging. If a command fails, exit with non-zero exit code and don't continue multipart commands.
2009-06-18[vtysh] Force line buffered mode.Stephen Hemminger
Vtysh is used in pipelines and it helps if the output starts right away instead of waiting for a whole buffer to fill.
2009-06-18[gcc] Add gcc printf format checksStephen Hemminger
2009-06-12[cleanup] Make command nodes staticStephen Hemminger
The cmd_nodes used to configure vty, can mostly be static so (basic data hiding 101).
2009-06-12[cleanup] functions taking no args should be declared with void argsStephen Hemminger
Use Ansi-C prototypes rather than old K&R method of declaring function without arguments
2009-06-12[cleanup] add const attribute to lib/if.c::if_dumpStephen Hemminger
2009-06-12[cleanup] Convert XMALLOC/memset to XCALLOCStephen Hemminger
Simple conversion of XMALLOC/memset to XCALLOC
2009-06-12[bgpd] Add support for the old Linux 2.4, TCP_MD5_AUTH RFC2385 patchPaul Jakma
* configure.ac: Add a --enable-linux24-tcp-md5 argument, to compile in support for the old TCP-MD5 patch for Linux 2.4 systems. This overrides auto-detection of TCP-MD5 supported by the target system. * lib/sockopt.c: (sockopt_tcp_signature) add in a variant for the old Linux 2.4, TCP_MD5_AUTH variant of TCP-MD5 support, conditional on the previous configure arg.
2009-06-09[bgpd] Fixed as-path prepend/exclude ASN handlingDenis Ovsienko
- aspath_gettoken(): use as_t to fix 4-byte ASN scanning (bug #484) - set_aspath_prepend_cmd(): use CMD_AS_RANGE in message to match actual range - no_set_aspath_prepend_val_cmd(): idem - set_aspath_exclude_cmd(): idem - no_set_aspath_exclude_val_cmd(): idem
2009-06-02Merge remote branch 'origin/master'Paul Jakma
2009-06-02[snmp] Compiler warning fixes for when "--enable-snmp" is configured.Chris Caputo
Compiled on 32-bit and 64-bit linux gcc 4.1.2 platforms. No run-time testing on 32-bit and limited run-time testing on 64-bit.
2009-06-02[smux] 64-bit fix for lib/smux.h SNMP_INTEGER() macroChris Caputo
Macro SNMP_INTEGER() prepares data which is eventually processed by asn_build_int(). SNMP_INTEGER() was using "int32_t" whereas asn_build_int() uses "long". On 32-bit systems these are the same, both 4 bytes, but on x86 64-bit systems "long" is 8 bytes. asn_build_int()'s reaction to an improperly sized value is to return a NULL pointer. Quagga's smux.c would eventually get this NULL pointer and use it in calculations to determine how much data to send over the smux connection, resulting in garbage being sent to the SNMP agent. Corrected SNMP_INTEGER() to use "long". Tested on 32-bit and 64-bit x86 Linux 2.6.27.10 systems running Quagga 0.99.11 with bgpd smux.
2009-06-02[ospfd] fix vty ospfd no ospf abr-type standardFrancesco Dolcini
"no ospf abr-type standard" was broken
2009-06-02[ripd] Fix metrix in call to rip_zebra_ipv4_deleteKrisztian Kovacs
Fix a potential problem (most probably not triggering a real problem, at least on Linux). When an interface goes down and ripd tries to delete the corresponding route it errorneously passes the interface's index instead of the metric to zebra.
2009-06-02[bgp] Fix crash on SIGHUP, deref of freed workqueuesSteve Hill
* lib/workqueue.c: free-ing workqueues had never been tested obviously, queue's thread was not being stopped * bgpd/bgpd.c: null out freed workqueues, to prevent acting on freed workqueues
2009-06-01[trivia] Fixed typos in communities text (#334)Denis Ovsienko
2009-06-01[doc] Stick with quagga.net for consistency (#436)Denis Ovsienko
2009-05-29[bgpd] 64-bit bugfix in community_del_val by Jeremy Jackson <jerj@coplanar.net>Andrew J. Schorr
* bgpd/bgp_community.c: (community_del_val) Fix bug in memcpy that was using the wrong size on architectures where a pointer is not 32 bits.
2009-05-08[release] Bump version to 0.99.12Paul Jakma
2009-05-08Fix bgp ipv4/ipv6 accept handlingStephen Hemminger
When bgp calls getaddrinfo, it gets both ipv6 and ipv4 addresses. Unless IPV6_ONLY is set on Linux, only the ipv6 bind will succeed, and the IPV4 connections will come in as mapped connections on the IPV6 socket.
2009-05-08[build] tools/multiple-bgpd.sh should be in 'make dist'Paul Jakma
2009-04-30[bgpd] AS4 bugfix by Chris Caputo <ccaputo@alt.net>Denis Ovsienko
* bgpd/bgp_aspath.c: (aspath_make_str_count) "assert (len < str_size)" was getting hit under certain 4-byte ASN conditions. New realloc strategy. * bgpd/bgp_aspath.c: (aspath_key_make) const warning fix. "%d" -> "%u" 4-byte ASN corrections. Prevent negative number when ASN is above 2^31.
2009-04-13Dmitry Tejblum <tejblum@yandex-team.ru>Denis Ovsienko
Don't enable HAVE_BSD_STRUCT_IP_MREQ_HACK for FreeBSD 7.0 and upper, because OS behaviour has changed.
2009-04-10Justified OSPF cost function names and added support for:Denis Ovsienko
ospf cost <1-65535> A.B.C.D no ospf cost <1-65535>
2008-11-29[lib] Fix timer precision.Joakim Tjernlund
Whenever a thread adds an timer funcname_thread_add_timer_timeval() gets called to add the timer. Before adding the timer a quagga_gettimeofday() call is made to do some time house keeping. However quagga_gettimeofday() only updates recent_time, not relative_time that is used to calculate the alarm_time. Replace with quagga_get_relative (NULL)
2008-11-29[lib] Move type cast in Fletcher checksumJoakim Tjernlund
The int type cast should be on the whole expression passed to the mod operator. Otherwise it won't work when/if c0/c1 is unsigned. Making c0/c1 unsigned makes it possible to use 5802 as MODX value.
2008-11-29[rpm] some defaults for Fedora are way out of datePaul Jakma
* quagga.spec.in: No need to default to accomodate now ancient versions of Fedora
2008-11-24[lib] fix missing sockunion_normalise_mappedPaul Jakma
* lib/sockunion.c: (sockunion_accept) sockunion needs to be normalised here, as it used to before this was moved to a dedicated function..
2008-11-16[bgpd] Add 'show bgp views' commandMichael Lambert
* bgp_vty.c: (show_bgp_views_cmd) new command to list all defined views. (with small edits by Paul Jakma) Signed-off-by: Paul Jakma <paul@quagga.net>
2008-11-16[lib] Switch Fletcher checksum back to old ospfd versionPaul Jakma
* lib/checksum.c: (fletcher_checksum) Switch the second phase of the checksum back to the old ospfd logic. The isisd-derived version: a) is very hard to follow b) had some kind of subtle bug that caused it be wrong when c0=0 and c1=254 (potentially fixable by doing the mods before adjusting x and y) Additionally: - explicitely cast expressions using non-internal variables to int, to ensure the result is signed. - defensively change the length argument to 'size_t', to ensure the code works with that argument being unsigned.. Thanks to Joakim Tjernlund for the investigative work into this bug. * tests/test-checksum.c: new file to exercise the checksum code.
2008-10-04[vtysh] Add commands from zebra_routemap.c to vtyshBartek Kania
* Makefile.am: vtysh should also pull in commands from zebra_routemap.c Signed-off-by: Paul Jakma <paul@quagga.net>
2008-10-02Merge branch 'bgpd/fsm'Paul Jakma
2008-10-02[release] Bump version to 0.99.11Paul Jakma
2008-09-24[bgpd] Fix definition of an rsclient commandMichael Lambert
* bgp_route.c: (show_ip_bgp_view_rsclient_route_cmd) Add the missing "ip" to the command string. Signed-off-by: Paul Jakma <paul@quagga.net>
2008-09-24[ospfd] Fix SEGV during startup introduced in recent commitJoakim Tjernlund
* ospfd/ospfd.c: (opsf_if_update) Check if ospf_lookup() returns NULL. Fixes bug introduced with recent ospf_network_run changes in a49eb30a, where SEGV will happen if not the "router ospf" command has been executed before the first interfaces are reported by zebra. Signed-off-by: Paul Jakma <paul@quagga.net>
2008-09-24[ospfd] Move passive interface checkJoakim Tjernlund
* ospf_packet.c: Apply passive check and drop for all packages and not just Hellos. Signed-off-by: Paul Jakma <paul@quagga.net>
2008-09-24[build] Fix --enable-pie so it can actually be disabledPaul P Komkoff Jr
Signed-off-by: Paul Jakma <paul@quagga.net>
2008-09-09[lib] re-enable conversion of v6mapped INET6 sockunions to regular INETPaul Jakma
* lib/sockunion.c: Re-enable conversion of v6mapped INET6 sockunions to regular INET sockunions, which was disabled in 0df7c9, as it leads to failures in sockunion_cmp. (sockunion_normalise_mapped) consolidate here (sockunion_accept) remove conversion code altogether here - no sockunion is created (sockunion_get{sockname,peername}) normalise newly created sockunion.
2008-09-09[bgpd] Allow accepted peers to progress even if realpeer is in ConnectPaul Jakma
* bgpd/bgp_packet.c: (bgp_open_receive) Try fix the little race in the FSM, where a accept-peer that progress faster than realpeer gets closed down if realpeer is still just in Connect, by allowing the realpeer to be bgp_stop'ed and doing the regular swapping-of-FSM state.
2008-09-06[bgpd] Document the FSM dummy-peer race that sometimes afflicts session setupPaul Jakma
* bgp_packet.c: (bgp_open_receive) the accept-peer hack can sometimes cause a race between two peers that try to establish sessions to each other, causing session setup to fail when it should have succeeded. In the worst case, the race can 'loop', causing prolonged failure to establish sessions.