Commit graph

502 commits

Author SHA1 Message Date
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
7e1e91ef98 Call bgp_add/del_route6() in l2tpns.c.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:57 +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
7407c1a1c4 Add config examples for nexthop/nexthop6.
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
59411b8799 Add a nexthop6 config option.
Will be used to set the NEXT_HOP for IPv6 routes, otherwise our address in
ipv6_prefix is used as the next hop.

Signed-off-by: Benjamin Cama <benoar@dolka.fr>
2011-07-28 15:01:51 +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
e57e8c3825 Merge remote-tracking branch 'upstream-repo/master' into upstream 2011-07-07 12:47:12 +02:00
Benjamin Cama
f2a3180cc0 Imported Upstream version 2.1.21 2011-07-07 12:45:05 +02:00
bodea
46d1fa17df Apply patch from Geoffrey D. Bennett to fix retry of control packets. 2011-01-20 12:48:40 +00:00
bodea
adff07fbb6 Apply patch from Cyril Elkaim to fix an issue with MacOS. 2010-03-26 00:39:24 +00:00
bodea
448f218ae7 Apply patch from Cyril Elkaim to fix an issue with MacOS. 2010-03-25 05:24:23 +00:00
bodea
80eece35b2 Apply patch from Michael O to avoid sending multiple CDNs. 2010-01-11 12:16:20 +00:00
bodea
eb34e8b8b2 Apply patch from Michael O to avoid sending multiple CDNs. 2010-01-09 13:33:41 +00:00
bodea
ac773ac88d Apply MLPPP patch from Muhammad Tayseer Alquoatli, very belatedly, with
thanks.  Changes:
- Handle session shutdown gracefully regarding leaving the bundle (bug that is
  caused when a all session leaves a bundle then another join)
- IP assignment is done only for the first session in the bundle (save IP
  waste for multiple MLPPP sessions)
- Route is being added only for the first session in the bundle (less routes
  on l2tpns system)
- Fix route deletion problem for MLPPP sessions (bug that caused when a
  session leaves a bundle)
- Uniformity of sequence number space satisfied (according to RFC1990)
- Fix reassembling fragmented packets and handling lost fragments (according
  to RFC 1990)
- FragmentatConnection to l2tpns.cvs.sourceforge.net closed by remote host.n
  across N session rather than two)
- Sequence numbers extraction mask has been corrected (bug in extracting
  sequence numbers)
- some clustering support fixes
- Upload/Download statistics has been corrected
- add "kill_timedout_sessions" config option
2009-12-08 14:49:28 +00:00
bodea
98f82df878 propagate select error 2007-06-28 07:22:50 +00:00
bodea
8f970b6937 simplify throttle logic 2007-01-25 12:36:48 +00:00
bodea
5e1536a8ef remove float 2007-01-14 04:07:52 +00:00
bodea
5c8a7b96ca add "shutdown" and "reload" CLI commands (Daryl Tester) 2006-12-18 12:08:28 +00:00
bodea
32ab43cf29 don't send interim records before session start (Daryl Tester) 2006-12-18 12:05:36 +00:00
bodea
e29419bc18 add Makefile, cleanup for -std=c99 2006-12-18 11:58:35 +00:00
bodea
76384a3240 add CVE 2006-12-07 05:46:16 +00:00
bodea
007f5d2cac minor cleanup 2006-12-05 05:22:59 +00:00
bodea
426335628c fix heartt pad 2006-12-04 20:54:51 +00:00
bodea
98f1b9718d Security: Rhys Kidd identified a vulnerability in the handling of
heartbeat packets.  Drop oversize heartbeat packets.
2006-12-04 20:50:02 +00:00
bodea
9d594abcf5 fix comment 2006-10-23 02:51:53 +00:00
bodea
33f430ac77 allow DNS servers to be specified using either old or new vendor-specific Ascend formats 2006-08-02 14:17:30 +00:00
bodea
cb031e775d cleanup clash between timeout and session_timout 2006-08-02 13:35:39 +00:00
bodea
a1772fdad1 fix sign problem with reporting of unknown RADIUS VSAs 2006-08-02 12:54:45 +00:00
bodea
464d19fbb2 fix log message 2006-07-17 07:53:08 +00:00
bodea
876ad93887 resolve gcc 4.1 warning by changing ip_hash to a union 2006-07-01 14:07:35 +00:00
bodea
9bc9ec99e6 add radius_bind_{min,max} options 2006-07-01 12:40:10 +00:00
bodea
570e1b2fc2 set acct-disconnect-cause from result code AVP if no disconnect cause AVP is present 2006-06-22 15:30:29 +00:00
bodea
e6bb332ba2 add session/idle timeouts 2006-06-11 12:46:18 +00:00
bodea
174de2c0d7 kludge around problem with Netgear DM602 authentication 2006-06-03 08:16:46 +00:00