| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | | |
The finite state machine table is immutable.
|
| | |
| | |
| | |
| | |
| | | |
Message lists can be read-only, and hash tables are local to this
code.
|
| | |
| | |
| | |
| | | |
smux_trap and oid_copy should allow read-only source.
|
| | |
| | |
| | |
| | | |
Fix printf format warning and make capability table 'const static'
|
| | |
| | |
| | |
| | |
| | | |
Avoid bugs, and improve cache locality by allowing message lists
to be read/only.
|
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Need to add back proper log_end_msg
|
|/ /
| |
| |
| |
| | |
Need to have only one place where daemons are started, otherwise
there will be bugs.
|
| |
| |
| |
| |
| |
| | |
1. Don't depend on quagga-manager because later changes may
have to change what it does
2. Add LSB status function
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
debian/vyatta-quagga.init.d
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On Sun, 3 May 2009, Chris Caputo wrote:
> For consideration... Feedback welcome.
2nd version. (fix to adhere to a "MUST" clause in the RFC)
Chris
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If there are two paralell PtP links to the same router:
C * 192.168.101.112/32 is directly connected, p1-4-19-4-20
C>* 192.168.101.112/32 is directly connected, p1-4-17-4-18
and the cable is to one of the ppp links is pulled, Zebra
deletes both routes instead of just the one that got yanked.
This fixes it to only delete the route to the interface that
got yanked.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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.
|
| |
| |
| |
| |
| |
| | |
Justified OSPF cost function names and added support for:
ospf cost <1-65535> A.B.C.D
no ospf cost <1-65535>
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
When interface addresses are deleted, the kernel will flush all
routes. Quagga needs to follow this correctly.
Relates to DHCP bugs 4314, 4315, ...
|
| |
| |
| |
| | |
Don't need whole 1K buffer for IPV6 address
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|