summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Add vector_trim() and vector_condense() to lib/vector.cChris Hall (GMCH)2009-12-172-7/+50
| | | | | | | | | | | | | | | Go with vector_unset_item(). May be used to trim NULL values at the end of a vector or to remove all NULL values from a vector.
* | | Fix to qps_selection_ream()Chris Hall (GMCH)2009-12-171-1/+1
| | | | | | | | | | | | | | | | | | Remove vector_ream(), which removes item from the vector, by vector_get_last_item(). Leaves removal from the vector to qps_file_remove().
* | | Fix race condition when threads start. Make memory stats thread safepaulo2009-12-166-36/+97
| | | | | | | | | | | | Run memory commands in cli thread.
* | | Get CLI thread and UI working properly. Sex commands according topaulo2009-12-1511-189/+444
| | | | | | | | | | | | thread to run in. Add qlib_init stuff. Add -t parameter for "threaded".
* | | Using message queue to send commands from cli thread to bgp thread.paulo2009-12-1413-110/+285
| | |
* | | Fix to mqueue_dequeue in lib/mqueue.cChris Hall (GMCH)2009-12-141-2/+2
| | | | | | | | | | | | | | | When adding to signal queue, must use mq->kick.signal.head == NULL to check for an empty queue (not mq->kick.signal.tail == NULL).
* | | vty running in main thread. bgp running in its own thread.paulo2009-12-119-58/+196
| | | | | | | | | | | | Each has its own nexus.
* | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-1018-156/+68
|\| |
| * | Merge branch 'master' of /git/quagga.euro-ixChris Hall (GMCH)2009-12-1026-2847/+7341
| |\ \ | | |/ | |/|
| * | ripd: fix compiler warningsStephen Hemminger2009-12-104-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ripd/rip_interface.c * rip_request_neighbor(): comment out, unused * rip_request_neighbor_all(): idem * rip_interface_up(): Cast flags otherwise compiler complains about %lld not matching uint64_t on 64 bit x86. Print in hex since flags are bit field. * rip_interface_add(): idem * rip_interface_delete(): idem * ripd/rip_zebra.c * rip_redistribute_set(): comment out, unused * ripd/ripd.h * rip_redistribute_check(): move prototype here so compiler can check function against prototype * ripd/ripd.c * rip_update_default_metric(): comment out, unused
| * | ospf6d: remove dead codeStephen Hemminger2009-12-102-17/+2
| | | | | | | | | | | | | | | | | | | | | | | | * ospf6d/ospf6_interface.c * loopind(): sayonara * ospf6d/ospf6_top.c * ospf6_delete(): comment out, it might be useful if real shutdown is added
| * | ospf6d: fix warnings from recent prefix bit commitStephen Hemminger2009-12-102-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | * lib/prefix.h * prefix6_bit(): add IPv6 wrapper for prefix_bit() * ospf6d/ospf6_lsdb.c * ospf6_lsdb_type_router_head(): employ prefix6_bit() * ospf6_lsdb_type_head(): idem
| * | ripngd: compiler warnings cleanupStephen Hemminger2009-12-102-23/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ripngd/ripng_interface.c * ripng_check_max_mtu(): unused, sayonara * ripng_interface_down(): cast flag arguments to logging function * ripng_interface_add(): idem * ripng_interface_delete(): idem * ripngd/ripngd.c * ripng_recv_packet(): avoid aliasing warning dereferencing pointer
| * | zebra: deal with irdp compile warningsStephen Hemminger2009-12-104-31/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * zebra/irdp.h * irdp_send_thread(): move prototype to common header file * irdp_advert_off(): idem * process_solicit(): idem * irdp_read_raw(): idem * send_packet(): idem * zebra/irdp_interface.c * inet_2a(): move function to where it is used * in_cksum(): lib/checksum.h already provides prototype * irdp_send_thread(): prototype moved away * inet_2a(): idem * irdp_advert_off(): idem * b1, b2, b3, b4: get rid of global buffers for inet_2a() * if_group(): add local buffer for inet_2a() * if_add_group(): idem * if_drop_group(): idem * irdp_config_write(): idem * Adv_new(): make static * zebra/irdp_main.c * irdp_read_raw(): prototype moved away * send_packet(): idem * in_cksum(): lib/checksum.h already provides prototype * inet_2a(): function moved to irdp_interface.c * zebra/irdp_packet.c * b1, b2, b3, b4: get rid of global buffers for inet_2a() * in_cksum(): lib/checksum.h already provides prototype * process_solicit(): prototype moved away * irdp_read_raw(): fix uninitialized variable
| * | bgpd: compile warnings cleanupStephen Hemminger2009-12-104-75/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bgpd/bgp_fsm.c * bgp_clearing_completed(): only used in one file, can be static * bgpd/bgp_packet.c * afi2str(): sayonara * safi2str(): sayonara * bgpd/bgp_route.c * bgp_distance_reset(): sayonara * bgpd/bgp_zebra.c * bgp_ifindex_by_nexthop(): sayonara
* | | Merge branch 'pthreads' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-103-63/+80
|\ \ \
| * | | Needed unprotected version of vty_reset for use in vty_terminatepaulo2009-12-101-4/+10
| | | |
| * | | Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-2/+3
| |\ \ \ | | | |/ | | |/| | | | | pthreads
| * | | Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-6/+9
| |\ \ \ | | | | | | | | | | | | | | | pthreads
| * \ \ \ Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-2/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | pthreads
| * | | | | Stop recursive lock checking assertpaulo2009-12-103-59/+70
| | | | | |
* | | | | | New access functions for mqueue_blocks & use qpthreads_enable.Chris Hall (GMCH)2009-12-102-92/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions to set and get all user accessable parts of an mqueue_block are now provided. Uses the qpthreads_enabled flag to allow mqueues to work (though in a limited fashion) when pthreads are not enabled.
* | | | | | Introduced qpthreads_enabled flag in lib/qpthreadsChris Hall (GMCH)2009-12-102-99/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports running without pthreads, but with code that is made thread-safe. A Big Switch -- qpthreads_enabled -- enables or disables all pthread functions. When disabled, all mutex calls become NOPs.
* | | | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-2/+3
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Fix reaming of empty symbol table -- lib/symtab.cChris Hall (GMCH)2009-12-101-2/+3
| | |_|/ / | |/| | |
* | | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-6/+9
|\| | | |
| * | | | Allow orphan symbols to be unset -- lib/symtab.cChris Hall (GMCH)2009-12-101-6/+9
| | |/ / | |/| | | | | | | | | | Improved version.
* | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-2/+3
|\| | | | |/ / |/| |
| * | Allow orphan symbols to be unset -- lib/symtab.cChris Hall (GMCH)2009-12-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | May not set orphan symbol values to anything meaningful, but must be allowed to unset an orphan value (which is already unset) so that when reaming a symbol table ordinary value delete/unset functions can be called. So fixed the assert which was disallowing all value changes for orphans, in symbol_set_value().
| * | Merge remote branch 'quagga/master' of /git/quagga.euro-ixChris Hall (GMCH)2009-12-0922-288/+107
| |\|
* | | Merge remote branch 'quagga/master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-0922-288/+107
|\ \ \ | | |/ | |/|
| * | zebra: cleanup RIB meta queue codeStephen Hemminger2009-12-091-37/+10
| | | | | | | | | | | | | | | | | | | | | * zebra/zebra_rib.c * rib_queue_add(): indent comments and simplify debug code * rib_queue_init(): remove unneeded assert() calls and extra return statements
| * | lib: move check_bit into prefix common codeStephen Hemminger2009-12-095-72/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make one version of check prefix bit, and put it inline with proper prototype. This gets rid of some macro's and also some assert() that can never happen on a non-broken compiler. * bgpd/bgp_table.c * CHECK_BIT(): sayonara * check_bit(): sayonara * SET_LINK(): sayonara * set_link(): make use of prefix_bit() instead of check_bit() * bgp_node_match(): idem * bgp_node_lookup(): idem * bgp_node_get(): idem * lib/prefix.h * prefix_bit(): new inline version of check_bit() * lib/table.c * CHECK_BIT(): sayonara * check_bit(): sayonara * SET_LINK(): sayonara * set_link(): make use of prefix_bit() instead of check_bit() * route_node_match(): idem * route_node_lookup(): idem * route_node_get(): idem * ospf6d/ospf6_lsdb.c * CHECK_BIT(): sayonara * ospf6_lsdb_lookup_next(): make use of prefix_bit() instead of CHECK_BIT() * ospf6_lsdb_type_router_head(): idem * ospf6_lsdb_type_head(): idem * ospf6d/ospf6_route.c * CHECK_BIT(): sayonara * ospf6_route_match_head() make use of prefix_bit() instead of * CHECK_BIT()
| * | lib: fix warning on little endianStephen Hemminger2009-12-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | * md5.c * md5_calc(): If building on little endian then X will be 'const uint32_t' which causes compiler warning in code that never gets used. Just move the endif to make sure code is not checked.
| * | zebra: fix more warnings in rtadvStephen Hemminger2009-12-081-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * zebra/rtadv.c * rtadv_free(): remove unused function * rtadv_recv_packet(): break up cast/dereference to avoid compiler type pun warning * rtadv_read(): initialize ifindex, because compiler can't figure out that it is okay
| * | Merge branch 'master' of ssh://code.quagga.net/var/lib/git/quaggaDenis Ovsienko2009-12-083-27/+16
| |\ \
| | * | zebra: remove unused function to fix warningStephen Hemminger2009-12-081-13/+0
| | | | | | | | | | | | | | | | | | | | * zebra/interface.c * if_supported_family(): sayonara
| | * | lib: make match functions take const argsStephen Hemminger2009-12-082-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * table.c: general type safety and compiler help: * maskbit[]: become const * route_node_match(): take const args * route_node_match_ipv4(): idem * route_node_match_ipv6(): idem * check_bit(): idem, plus adjust local vars typing
| * | | zebra: fix more compiler warningsStephen Hemminger2009-12-081-40/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * zebra/zebra_rib.c * nexthop_active_update(): make local int vars unsigned * nexthop_active_check(): return unsigned for consistency * rib_dump(): cast time in printf format * vrf_free(): remove unused function * vrf_lookup_by_name(): idem * rib_if_up(): idem * rib_if_down(): idem
| * | lib: remove unused function: route_dump_node()Denis Ovsienko2009-12-071-17/+0
| | |
| * | lib: log source of vty connections (bug #566)heasley2009-12-071-0/+6
| | | | | | | | | | | | heasley: I've used this for a while to track usage.
| * | ospf6d: review LSA sequence number comparisonOndrej Zajicek2009-12-071-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that there is a bug in ospf6d in ospf6_lsa_compare(): If LSA A has sequence number smaller than 0x80000000 and LSA B has sequence number larger than 0x80000000, ospf6_lsa_compare() returns that B is more recent than A, although RFC says that sequence numbers should be compared as signed numbers (0x8000001 smallest and 0x7FFFFFFF largest). In ospfd, the function ospf_lsa_more_recent() has it right. The problem appears when Quagga is used together with OSPFv3 in development version of BIRD daemon ( http://bird.network.cz/ ), which creates LSAs with maximum sequence number (0x7FFFFFFF) as a part of flushing/premature aging LSA from OSPF area. Because both daemons has different idea of which LSA instance is more recent, it would lead to LSA storm.
| * | bgpd: work around warning in assegments_parse()Denis Ovsienko2009-12-041-2/+5
| | |
| * | zebra: handle RTF_CLONING removal from FreeBSD 8.0David Ward2009-12-031-0/+7
| | | | | | | | | | | | | | | | | | | | | The RTF_CLONING flag has been removed in FreeBSD 8.0 with arp-v2 (see http://svn.freebsd.org/viewvc/base/stable/8/UPDATING?view=markup), since it no longer has any meaning. This patch checks if RTF_CLONING exists before using it.
| * | isisd: fix --enable-isis-topology for 64-bit LinuxDavid Ward2009-12-031-0/+3
| | |
| * | zebra: fix argument reference in strncpy() call for BSDheasley2009-12-031-1/+1
| | |
| * | isisd: fix BPF ioctl() calls, treat "true" and "false" as reservedDavid Ward2009-12-031-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid a potential conflict with the C99 defines 'true' and 'false' found in <stdbool.h> by choosing better variable names. Also fix the calls to these ioctls, as described in <net/bpf.h> in FreeBSD, NetBSD, and OpenBSD: * BIOCGBLEN, BIOCIMMEDIATE, BIOCSSEESENT (the parameter should be of type 'u_int') * BIOCPROMISC (there should be no parameters)
| * | configure: fix spellingDavid Ward2009-12-031-1/+1
| | |
| * | ospfd: VTY strings cleanupStephen Hemminger2009-12-031-15/+2
| | | | | | | | | | | | Several bits of text can be local or are unused.
| * | ospfd: comment out unused functionStephen Hemminger2009-12-031-0/+2
| | |