| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
bgpd/bgp_aspath.c
bgpd/bgpd.c
lib/smux.c
lib/workqueue.c
ospfd/ospf_snmp.c
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| |
| |
| |
| | |
This adds a flag to bgpd that makes each BGP instance start with
import-check enabled. With Vyatta CLI, this resolves issues resulting
from ordering at startup and how command elements for disable-import-check
are used.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The attached patch was already posted to the list once (thanks to
whoever found it first). However, it never made it into the code
base. It is a severe to critical bug affecting community deletions on
64-bit machines and is bug #515 in bugzilla.
|
| | |
|
| |
| |
| |
| |
| | |
Check result of daemon() call to fix warning
Make local variables static
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This table should be read-only.
Also, comment out some unused code.
|
| | |
|
| | |
|
| |
| |
| |
| | |
The finite state machine table is immutable.
|
| |
| |
| |
| |
| | |
Message lists can be read-only, and hash tables are local to this
code.
|
| |
| |
| |
| | |
Fix printf format warning and make capability table 'const static'
|
| |
| |
| |
| | |
Save a little code, getaddrinfo hint can be static initialized.
|
| |
| |
| |
| |
| |
| | |
It is possible on BGP shutdown for routes to finish clearing while
peer is waiting deletion. Therefore the assertion check in bgp_clear_route
can be deleted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug 3436
Add reference counting on BGP structure. Don't free BGP instance until
all peer's are deleted.
Fix memory leak where self reference created but never freed
|
| |
| |
| |
| | |
This reverts commit 732ebcdfad6e3a786386e38a126c84477d192105.
|
| |
| |
| |
| |
| |
| | |
Bugfix 3436
Wait for all items in the peer clear queue to finish before
deleting BGP instance.
|
| |
| |
| |
| | |
These variables are const.
|
| |
| |
| |
| |
| | |
bgp_terminate is used when process SIGHUP, clear workqueue references
after freeing them.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, when accepting the connection, it can be left as zombie,
when the peer just initiates a connection, but never sends data (and
the TCP connection end packets are lost). This happens because for
accepted connections a temporary new peer entry is created until OPEN
message is exchanged, and this temporary peer entry does not get the
hold time parameter set at all.
Signed-off-by: Timo Teras <timo.teras@iki.fi>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* bgpd/bgp_damp.c: Make bgp_damp_reuse_time_vty() accept a buffer and
length, rather than returning a local var buffer whose contents can get
trounced. Remove duplicate BGP_UPTIME_LEN define.
* bgpd/bgp_damp.h: bgp_damp_reuse_time_vty() prototype change.
* bgpd/bgp_route.c: Provide bgp_damp_reuse_time_vty() with a buffer and
length. Remove duplicate BGP_UPTIME_LEN define.
This problem was noticed in 2005...
http://hibernia.jakma.org/~paul/patches/quagga-test.diff
...but the fix didn't make it into the code.
Signed-off-by: Chris Caputo <ccaputo at alt.net>
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Based on:
[bgpd] AS4 bugfix by Chris Caputo <ccaputo@alt.net>
* bgpd/bgp_aspath.c: (aspath_make_str_count) "assert (len < str_size)" was
getting hit under certain 4-byte ASN conditions. New realloc strategy.
|
| |
| |
| |
| |
| | |
"%d" -> "%u" 4-byte ASN corrections. Prevent negative number when ASN is
above 2^31.
|
| | |
|
| |
| |
| |
| | |
Simple conversion of XMALLOC/memset to XCALLOC
|
| | |
|
|\ \ |
|
| |/
| |
| |
| |
| | |
Use Ansi-C prototypes rather than old K&R method of declaring
function without arguments
|
| |
| |
| |
| | |
A couple more trivial optimization.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
lib/checksum.c
|
| |
| |
| |
| |
| |
| |
| |
| | |
* 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>
|
|\ \
| | |
| | |
| | | |
Merge in current upstream version of quagga.
|
| |\|
| | |
| | |
| | | |
Resolve all conflicts by using upstream version.
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
* 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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| | |\ |
|