Update README
This commit is contained in:
parent
5027c3009a
commit
87cd8abe9e
10
ChangeLog
10
ChangeLog
@ -2,17 +2,19 @@
|
||||
|
||||
* Version 1.0.0
|
||||
|
||||
* ndppd has been rewritten from scratch, and is now pure C. This should
|
||||
be mostly compatible with the latest release 0.2.5, but several
|
||||
contributions have been backported from master.
|
||||
* ndppd has been rewritten from scratch, and is written in C (C99).
|
||||
Some features has been ported over from the master branch.
|
||||
|
||||
* Support for epoll has been added for better scaling. It's still
|
||||
possible to revert to using poll by defining NDPPD_NO_USE_EPOLL.
|
||||
|
||||
* Managing routes and keeping track of local addresses are now done
|
||||
through the use of Netlink. As such, /proc/* support is now gone.
|
||||
through the use of Netlink on Linux and AF_ROUTE for BSD/MacOS.
|
||||
Autowire is implemented using this.
|
||||
|
||||
* Support for /proc has been removed.
|
||||
|
||||
* Man pages are now written in .adoc format.
|
||||
|
||||
2017-01-07 Johnathan Sharratt <johnathan.sharratt@gmail.com>
|
||||
|
||||
|
45
README.md
45
README.md
@ -2,36 +2,31 @@
|
||||
|
||||
This is the development branch for version 1.0 of *ndppd*.
|
||||
|
||||
It's currently barely usable, but I hope to be able to have a beta ready before the end of the year.
|
||||
|
||||
Please read the manpages [ndppd.conf.5](ndppd.conf.5.adoc) and [ndppd.8](ndppd.8.adoc).
|
||||
|
||||
## To do
|
||||
## Status
|
||||
|
||||
### In progress
|
||||
***ndppd*** was rewritten from scratch using C (C99).
|
||||
|
||||
- [x] EPOLL support
|
||||
- [x] rtnetlink: Tracking routes
|
||||
- [x] rtnetlink: Tracking local addresses
|
||||
- [x] rtnetlink: Cleanup
|
||||
- [ ] rtnetlink: Managing routes
|
||||
- [x] Automatic detection of internal interfaces (auto)
|
||||
- [ ] Automatically managing routes (autowire)
|
||||
- [x] IPv6/ICMPv6 packet validation
|
||||
- [ ] Reloading through SIGHUP
|
||||
- [x] Configuration engine
|
||||
- [x] Forwarding of Neighbor Solicitation messages
|
||||
- [x] Forwarding of Neighbor Advertisement messages
|
||||
- [x] Daemonization
|
||||
- [x] Locking pidfiles
|
||||
- [x] Syslog
|
||||
- [x] Custom memory management (*nd_alloc*)
|
||||
- [x] Refreshing and expiring sessions
|
||||
- [x] Set and restore PROMISC and ALLMULTI
|
||||
It's currently **highly experimental**, but I expect a beta to be ready by the end of the year.
|
||||
|
||||
### Undecided
|
||||
- [ ] Control socket
|
||||
- [ ] Cleaning up pidfiles
|
||||
## Description
|
||||
|
||||
***ndppd***, or ***NDP Proxy Daemon***, is a daemon that proxies *neighbor discovery* messages. It listens for *neighbor solicitations* on a
|
||||
specified interface and responds with *neighbor advertisements* - as described in **RFC 4861** (section 7.2).
|
||||
|
||||
There are several methods available when determining of a *neighbor advertisement* should be sent back:
|
||||
|
||||
The first method, and the most common, is the ***autoresolve*** method. It uses the routing table to determine how the target is reachable.
|
||||
If a valid route exists, a *neighbor solicitation* is sent out through that interface. Only once ***ndppd*** receives a *neighbor advertisement*
|
||||
from the target will it start responding to *neighbor solicitations*.
|
||||
|
||||
The second method is the ***explicit*** method. A *neighbor solicitation* is sent through a manually provided interface. This
|
||||
method also allows for the use of ***autowire*** which sets up a route to the specified target through said interface *if the target was found, and for the
|
||||
duration of the session*.
|
||||
|
||||
The third method is the ***static*** method. When used, ***ndppd*** will immediately respond to *neighbor solicitation* messages immediately
|
||||
without first querying an internal interface.
|
||||
|
||||
## Compiling
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user