summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | [ospfd] fix vty ospfd no ospf abr-type standardFrancesco Dolcini2009-06-021-1/+3
| | | | | | | | "no ospf abr-type standard" was broken
* | [ripd] Fix metrix in call to rip_zebra_ipv4_deleteKrisztian Kovacs2009-06-021-1/+1
| | | | | | | | | | | | | | 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.
* | [bgp] Fix crash on SIGHUP, deref of freed workqueuesSteve Hill2009-06-022-3/+12
|/ | | | | | | * 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
* [release] Bump version to 0.99.12quagga_0_99_12_releasePaul Jakma2009-05-081-1/+1
|
* Fix bgp ipv4/ipv6 accept handlingStephen Hemminger2009-05-081-0/+9
| | | | | | | 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.
* [build] tools/multiple-bgpd.sh should be in 'make dist'Paul Jakma2009-05-081-1/+1
|
* [bgpd] AS4 bugfix by Chris Caputo <ccaputo@alt.net>Denis Ovsienko2009-04-3010-85/+62
| | | | | | | | | * 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.
* Dmitry Tejblum <tejblum@yandex-team.ru>Denis Ovsienko2009-04-131-1/+1
| | | | | Don't enable HAVE_BSD_STRUCT_IP_MREQ_HACK for FreeBSD 7.0 and upper, because OS behaviour has changed.
* Justified OSPF cost function names and added support for:Denis Ovsienko2009-04-101-8/+27
| | | | | ospf cost <1-65535> A.B.C.D no ospf cost <1-65535>
* [lib] Fix timer precision.Joakim Tjernlund2008-11-291-1/+1
| | | | | | | | 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)
* [lib] Move type cast in Fletcher checksumJoakim Tjernlund2008-11-291-1/+1
| | | | | | | | 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.
* [rpm] some defaults for Fedora are way out of datePaul Jakma2008-11-291-4/+4
| | | | | * quagga.spec.in: No need to default to accomodate now ancient versions of Fedora
* [lib] fix missing sockunion_normalise_mappedPaul Jakma2008-11-241-0/+1
| | | | | * lib/sockunion.c: (sockunion_accept) sockunion needs to be normalised here, as it used to before this was moved to a dedicated function..
* [bgpd] Add 'show bgp views' commandMichael Lambert2008-11-161-0/+31
| | | | | | | | * 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>
* [lib] Switch Fletcher checksum back to old ospfd versionPaul Jakma2008-11-164-34/+523
| | | | | | | | | | | | | | | | | | | | | | * 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.
* [vtysh] Add commands from zebra_routemap.c to vtyshBartek Kania2008-10-041-1/+2
| | | | | | * Makefile.am: vtysh should also pull in commands from zebra_routemap.c Signed-off-by: Paul Jakma <paul@quagga.net>
* Merge branch 'bgpd/fsm'Paul Jakma2008-10-021-4/+5
|\
| * [bgpd] Allow accepted peers to progress even if realpeer is in ConnectPaul Jakma2008-09-091-4/+5
| | | | | | | | | | | | | | * 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.
* | [release] Bump version to 0.99.11quagga_0_99_11_releasePaul Jakma2008-10-021-1/+1
| |
* | [bgpd] Fix definition of an rsclient commandMichael Lambert2008-09-241-1/+1
| | | | | | | | | | | | | | * 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>
* | [ospfd] Fix SEGV during startup introduced in recent commitJoakim Tjernlund2008-09-241-2/+2
| | | | | | | | | | | | | | | | | | * 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>
* | [ospfd] Move passive interface checkJoakim Tjernlund2008-09-241-18/+26
| | | | | | | | | | | | | | * ospf_packet.c: Apply passive check and drop for all packages and not just Hellos. Signed-off-by: Paul Jakma <paul@quagga.net>
* | [build] Fix --enable-pie so it can actually be disabledPaul P Komkoff Jr2008-09-241-3/+1
| | | | | | | | Signed-off-by: Paul Jakma <paul@quagga.net>
* | [lib] re-enable conversion of v6mapped INET6 sockunions to regular INETPaul Jakma2008-09-091-40/+20
|/ | | | | | | | | | * 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.
* [bgpd] Document the FSM dummy-peer race that sometimes afflicts session setupPaul Jakma2008-09-061-0/+45
| | | | | | | * 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.
* Merge branch 'restricted-mode'Paul Jakma2008-09-047-4/+171
|\
| * [vty] Add support for a 'restricted mode' with anonymous vty connectionsPaul Jakma2008-08-237-4/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/command.h: Add a RESTRICTED_NODE, intended for use with anonymous, 'no login' vtys, to provide a subset of 'view' mode commands. * lib/command.c: Add RESTRICTED_NODE bits, nothing special, just following VIEW_NODE. * lib/vty.c: (vty_auth) enable authentication should fall back to restricted/view node as appropriate. (vty_create) init vty's to restricted/view node as appropriate, for the 'no login' case. (vty_{no_,}restricted_mode_cmd) config commands to enable 'anonymous restricted' in vty configuration. (vty_config_write) 'anonymous restricted' config. (vty_init) Install some commands to restricted mode, and the 'anonymous restricted' config commands into VTY_NODE. * bgpd/*.c: Install some of the safe(r) BGP commands into 'restricted mode', i.e. lookup commands of non-sensitive data. Useful with looking-glass route-servers.
* | [ospfd] Minor enhancements to recent self-host-routes suppression patchPaul Jakma2008-09-043-22/+33
| | | | | | | | | | | | | | | | | | * ospf_spf.c: (ospf_spf_process_stubs) Track whether parent router vertex is the root, so that the host-route suppression logic need only be activated for such vertices. Move the actual logic to ospf_intra_add_stub. * ospf_route.c: (ospf_intra_add_stub) Main test of link moved here, notionally more appropriate.
* | Merge commit 'remotes/jocke/delete_ghost_route'Paul Jakma2008-09-031-1/+15
|\ \
| * | Ignore host routes to self.Joakim Tjernlund2008-08-251-1/+15
| |/ | | | | | | | | | | PtP links with /32 masks adds host routes to the remote host, see RFC 2328, 12.4.1.1, Option 1. Make sure that such routes are ignored
* | Merge commit '53d0deceeb855493aa03c59477f8af7f6bb75140'Paul Jakma2008-09-021-6/+14
|\ \
| * | Set destination for PtP links to OSPF_ALLSPFROUTERS.Joakim Tjernlund2008-08-251-6/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update ospf_db_desc_send(), ospf_ls_upd_queue_send() and ospf_ls_req_send() to always use OSPF_ALLSPFROUTERS for PtP links. See RFC 2328, chap 8.1 for details: "The IP destination address for the packet is selected as follows. On physical point-to-point networks, the IP destination is always set to the address AllSPFRouters." Without this, it won't be possible to establish adjacencies on multiple unnumbered links to the same router. ChangeLog: 2008-07-25 Joakim Tjernlund <Joakim.Tjernlund@transmode.se> * ospfd/ospf_packet.c: Set destination for PtP links to OSPF_ALLSPFROUTERS.
* | [ospfd] Restructure opsf_if_update() and ospf_network_run()Joakim Tjernlund2008-09-023-121/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an struct interface paramenter and adjust the affected code accordingly. The old code was a mess looping over all interfaces several times when one interface was added/changed. * ospfd/ospfd.h: Add struct interface parameter to ospf_if_update() * ospfd/ospf_zebra.c: Add ifp arg to ospf_if_update() calls. (ospf_interface_address_delete) delete ospf_if_update() call, redundant as function calls ospf_if_free() itself. * ospfd/ospfd.c: (ospf_network_unset) handle deconfiguration here, rather than ospf_if_update. (ospf_network_run_interface) ospf_network_run, for any given interface. (ospf_network_run) move guts to previous, and use it. (ospf_if_update) Adjust to take struct interface as argument, as all callers have a specific ifp in mind. Iterate over ifp's connected list and call ospf_network_run_interface instead of ospf_network_run, turning this path into O(nm) rather than O(n^2). Adjust all code dealing with opsf_if_update and ospf_network_run to pass the new struct interface * arg. (some minor modifications and bug-additions by Paul Jakma). Signed-off-by: Paul Jakma <paul@quagga.net>
| |
| \
*-. \ Merge commit 'remotes/jocke/ospf_neighbour'; commit ↵Paul Jakma2008-09-018-26/+29
|\ \ \ | | | | | | | | | | | | 'remotes/jocke/snmp_crosscompile'
| | * | Make --enable-snmp cross compile and make libcrypto optional with ↵Joakim Tjernlund2008-08-257-25/+28
| | |/ | | | | | | | | | | | | | | | | | | --without-crypto Autoconfig work by me, the rest was done by "Kirill K. Smirnov" <lich@math.spbu.ru>
| * / Fix SEGV in ip ospf neighbor allJoakim Tjernlund2008-08-251-1/+1
| |/ | | | | | | | | Dont use vty->index in show_ip_ospf_neighbor_all_cmd(), It is invalid, use ospf_lookup() instead.
* | [doc] Update HACKING to reflect SCM changes and latest practicePaul Jakma2008-08-261-105/+95
| |
* | testPaul Jakma2008-08-261-1/+1
| |
* | Revert "[bgpd] Add 'bgp open-accept' option, to send OPEN immediately on ↵Paul Jakma2008-08-264-38/+1
|/ | | | | | | | accepted conns" Revert commit d664ae1182c29b74b409bc8594b7bd0575e91ce9. An experimental patch which violates RFC4271 quite badly, but managed to accidently sneak its way in.
* [trivia] Make 'make dist' happy about ChangeLog expungePaul Jakma2008-08-232-1/+5
| | | | | | * ChangeLog: Add back a dummy, top-level ChangeLog * m4/Makefile.am: remove ChangeLog from EXTRA_DIST, why it was listed there, who knows.
* [administrivia] Update gitignore filesPaul Jakma2008-08-228-9/+13
| | | | - Add more stuff, archive libraries, etc..
* [administrivia] Git should ignore backup files and .loT filesPaul Jakma2008-08-2227-0/+82
|
* [trivia] Remove ChangeLog files, as this data is now maintained in SCMPaul Jakma2008-08-2218-22873/+0
|
* [zebra] trivial: fix spelling mistakeStephen Hemminger2008-08-221-1/+1
|
* [bgpd] remove useless check and return in bgp_config_write_dampStephen Hemminger2008-08-222-26/+21
| | | | | | | | | | 2008-08-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * bgp_damp.?: (bgp_config_write_damp) remove useless check of statically allocated config storage, and useless return value Signed-off-by: Paul Jakma <paul@quagga.net>
* [zebra] trivia: static qualifiers for metaqStephen Hemminger2008-08-221-4/+5
| | | | | | | | | | 2008-08-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * zebra_rib.c: (process_subq) mark static (rib_meta_queue_add) ditto (meta_queue_new) ditt Signed-off-by: Paul Jakma <paul@quagga.net>
* [zebra] make some data localStephen Hemminger2008-08-221-2/+2
| | | | | | | | 2008-06-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * zebra_rib.c: static qualifier on local data Signed-off-by: Paul Jakma <paul@quagga.net>
* [zebra] ignore dead routes in RIB updateStephen Hemminger2008-08-221-17/+36
| | | | | | | | | | 2008-08-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * zebra_rib.c: When doing a RIB update, routes in process of removal should be ignored. This fixes bugs where a route is removed but a recursive route is not changed. Signed-off-by: Paul Jakma <paul@quagga.net>
* [zebra:linux] netlink: no need to change privs for receiveStephen Hemminger2008-08-221-12/+3
| | | | | | | | | | 2008-06-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * rt_netlink.c: (netlink_parse_info) Linux doesn't check privledges on receive, so avoid the overhead of lowering and raising the priviledges on each received message Signed-off-by: Paul Jakma <paul@quagga.net>
* [zebra:linux] netlink: quiet harmless errorsStephen Hemminger2008-08-221-21/+20
| | | | | | | | | | 2008-06-17 Stephen Hemminger <stephen.hemminger@vyatta.com> * rt_netlink.c: (netlink_parse_info) There can be harmless races such as adding an existing route, or deleting an already deleted route. Don't bother logging these unless debugging is turned on. Signed-off-by: Paul Jakma <paul@quagga.net>