33 Commits

Author SHA1 Message Date
John Sharratt
4ca86ef88e Added a fix to stop nasty NDP loops when being proactive on the NDP adverts 2017-07-05 01:24:29 +02:00
John Sharratt
e8e3739126 Added session keepalive with retries that will ensure the routes are kept up during high traffic when no proactive NDP soliciations are sent by the sender 2017-07-04 22:00:03 +02:00
John Sharratt
89130bf099 Now creating session on receiving NDP adverts even if no one has specifically asked for one yet thus ensuring the routes are created and that the latecy on proxy solicitation is kept much lower 2017-07-03 00:59:23 +02:00
John Sharratt
0fd1dc0308 Added some additional debug information that help help track down what triggers a particular failure path 2017-07-02 15:26:19 +02:00
John Sharratt
55ad4b11f0 Now only unwiring if the NDP proxy did the wiring in the first place 2017-07-02 00:11:56 +02:00
John Sharratt
701476417a Added some more debug information for what session is no longer valid when it times out 2017-07-02 00:11:51 +02:00
John Sharratt
2ceb687bdc Added some debugging when a valid session becomes invalid 2017-07-02 00:11:49 +02:00
John Sharratt
f8ea51ab5e Added automatic renewal of active sessions (what determines if its active can be improved in future) 2017-07-02 00:11:47 +02:00
John Sharratt
7e0948bf96 Added automatic unwiring when a session expires 2017-07-02 00:11:45 +02:00
John Sharratt
e11d1943e9 Added a command that updates the routing tables 2017-07-02 00:11:42 +02:00
John Sharratt
37181c81ca Added some more debug information for when a advert is received 2017-07-02 00:11:32 +02:00
John Sharratt
68240908bc Separated the TTL so that invalid sessions can be expired faster than valid sessions (DDOS protection and better error handling) 2017-07-02 00:11:30 +02:00
John Sharratt
aaaed4fce9 Added debug information that informs the autowire mode when creating a session 2017-07-02 00:11:24 +02:00
John Sharratt
8ed35f841f Put in the skeleton around the auto wiring functionality 2017-07-02 00:11:22 +02:00
Blair Steven
cf244c10f7 Send proxied NA to the correct destination address
We need to send the NA back to the All Nodes Multicast address
rather than attempting to route to "::".

Signed-off-by: Scott Parlane <scott.parlane@alliedtelesis.co.nz>
2016-09-21 15:09:36 +12:00
Daniel Adolfsson
3ba2e7797b Some more fixes related to ptr/weak_ptr 2012-02-04 11:02:49 +01:00
Daniel Adolfsson
244341b5cf Fix a couple of issues related to circular referencing (ptr/weak_ptr) 2012-02-04 09:41:41 +01:00
Daniel Adolfsson
7956724a8e Fix a couple of memory leaks 2012-02-03 22:25:00 +01:00
Daniel Adolfsson
6723f2f4b6 Several large changes for the upcoming 0.2.2 version
- Bugfixes.

- New 'auto' configuration to be used in a 'rule' section.  When using
  this option, the routing table /proc/net/ipv6_route will be used to
  auto-detect which interface to use when forwarding solicitation messages.

- New 'route' class to resolve which interface to query when using
  'auto' configuration.

- Cleaned up the code some more.
2012-02-03 14:29:37 +01:00
Daniel Adolfsson
ab0ebe09ff Go back to using own implementation of smart pointers 2012-02-02 20:35:09 +01:00
Daniel Adolfsson
c8cc80925a New logging implementation
-  Switch from the old 'log' class (ERR/DBG/etc) to a better
   'logger' class. Also use LOG_* as defined in syslog.h.

-  Make it possible to read debug messages even for release.

-  Add a new argument (-v|--verbose) to 'ndppd' to change
   verbosity level.
2012-01-31 20:25:39 +01:00
Daniel Adolfsson
bc70f587ef Refactor source
- Change coding style

- Switch from own implementation of smart pointers to std::smart_ptr
  and std::weak_ptr
2012-01-28 20:28:07 +01:00
Daniel Adolfsson
d78bee25a7 Updated author's e-mail address 2012-01-26 11:21:07 +01:00
Daniel Adolfsson
17bdd6ebac Add two more configuration options
- 'ttl' to control how long a session will stay in the cache once the
  session becomes valid or invalid. Default is 30 seconds.

- 'timeout' to control how long a session will wait for a Neighbor
  Advertisement before being invalidated. Default is 500 ms.
2011-09-18 03:33:18 +02:00
Daniel Adolfsson
869fdbca2a Add support for static rules 2011-09-18 02:46:51 +02:00
Daniel Adolfsson
9bf5799109 Multiple changes
* Change Makefile so release is the default mode, use DEBUG=1 to turn
  on debugging.

* Clean up 'conf' a bit.

* Add a new option 'router' (valid in 'proxy' section) to turn on/off
  the ND_NA_FLAG_ROUTER flag for adverts.
2011-09-18 02:25:43 +02:00
Daniel Adolfsson
eefa9cb881 Multiple changes
* Add '-d' to "daemonize". Will also enable syslogging.

* Fix a couple of bugs in 'session'.

* Clean up 'log', and use LOG_* macros instead.

* Add syslog(bool) to 'log' to enable/disable the use of syslog.
2011-09-17 16:37:24 +02:00
Daniel Adolfsson
62edaf3c6b Fix several bugs and clean up the code 2011-09-17 01:10:23 +02:00
Daniel Adolfsson
370ba70182 Multiple changes
- Clean up some junk code that was left over.

- Replace ptr<> with strong_ptr<> and weak_ptr<> to easier distinguish
  between weak and strong pointers.

- Fix a couple of bugs.
2011-09-16 22:59:37 +02:00
Daniel Adolfsson
6a1306cdd5 Major changes 2011-09-16 22:59:35 +02:00
Daniel Adolfsson
e37df74b8e Major changes 2011-09-16 22:59:33 +02:00
Daniel Adolfsson
35567ed082 Major changes 2011-09-16 22:59:29 +02:00
Daniel Adolfsson
7d84dbeb18 Initial commit 2011-09-13 21:26:12 +02:00