Benjamin Cama
500eb6e594
Check for expired timers even when receiving no events.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-08-08 13:43:02 +02:00
Benjamin Cama
ae7d3c9fca
Merge branch 'rfc4760' into fdn-mods
2011-08-08 00:35:08 +02:00
Benjamin Cama
017a7d32fe
Use the source IP we use as BGP router identifier.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-08-08 00:33:36 +02:00
Benjamin Cama
1c898f7017
Merge branch 'rfc4760' into fdn-mods
2011-07-29 13:04:31 +02:00
Benjamin Cama
8c4f3bfe79
Add a config option to set the advertised BGP next hop.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-29 12:58:31 +02:00
Benjamin Cama
625794576e
Wait before retrying on CEASE.
...
Using bgp_restart() floods the peer with connection requests. Use bgp_retry()
instead.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-29 12:54:00 +02:00
Benjamin Cama
b36141c0c7
Add an option to set source address for a BGP session.
...
When adding a BGP neighbour, one can set "update-source" (quagga syntax) to the
source IP address that will be used for that session.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-29 12:54:00 +02:00
Benjamin Cama
21ae6221cf
Retry on unsupported capability, not restart immediatly.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:58 +02:00
Benjamin Cama
60bd25ccdc
Really fix parameters length calculation this time.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:58 +02:00
Benjamin Cama
e6fe57eec8
Fix a bug in parameters length setting.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:58 +02:00
Benjamin Cama
974d5f4408
A bit of renaming for clarity.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:58 +02:00
Benjamin Cama
350b06e6f4
Fix bugs in IPv6 update routine.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:58 +02:00
Benjamin Cama
c7e67e1de2
Don't send notification when receiving an unsupported capability.
...
Tested peer (quagga) doesn't interpret it nicely (i.e. it shuts the connection
down). Better not tell anything.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +02:00
Benjamin Cama
3bd675ad2c
Better check for IPv6 compatibility with the BGP peer.
...
We would advertise IPv6 routes to non-multiprotocol aware peers. Fix that.
Also, fix the way we parse options, to handle multiple optional parameters with
one capability in it (or many; it's just the way quagga send them).
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +02:00
Benjamin Cama
3ea85f7c57
Fix the AFI for IPv6.
...
The Address Family Identifier was not the one I thought it was.
Define it and fix its use for IPv6.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +02:00
Benjamin Cama
e86393ea90
Better handle IPv6 routes advertisement (non-)support.
...
Don't try to enable multiprotocol BGP when the peer says it can't.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +02:00
Benjamin Cama
db276bcc80
Handle multiprotocol UPDATE.
...
Add IPv6 routes advertisement handling, with MP path attributes heading
prepared on initialization.
BTW, fix a bug in attribute size calculation (for extended attr).
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +02:00
Benjamin Cama
f4fb6922fe
Add v6 routes handling.
...
Basically duplicate the v4 functions.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:59:59 +02:00
Benjamin Cama
02611e54fc
Move NEXT_HOP attribute so that we can exclude it.
...
We will need to do that when we will send IPv6 routes (RFC4760 says we SHOULD
NOT carry this attribute when we will send UPDATE without NLRI). So, we save
the length of all the attributes except NEXT_HOP for later memcpy().
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:59:52 +02:00
Benjamin Cama
f2e59e9881
Fix a typo from last commit.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
78a7085778
Disable IPv6 routes adv when peer doesn't support it.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
5305d86922
Advertise IPv6 capability to peers.
...
Also rename a param define, and fix a forgotten ntohs().
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
1032adb5b4
Avoid implicit cast warning.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
cd8502743f
Add a per-peer flag if it supports IPv6 routes adv.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
d7e506baf4
Add Multiprotocol definitions and more param handling.
...
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
1b8cb12cb4
Add Optional Parameter and Capability handling.
...
Optional Parameters is defined in RFC4271 and Capability advertisement in
RFC3392. For now, we only hande them upon receiving an OPEN message.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 14:58:30 +02:00
Benjamin Cama
f2a3180cc0
Imported Upstream version 2.1.21
2011-07-07 12:45:05 +02:00