summaryrefslogtreecommitdiff
path: root/TODO
blob: cd3331ab69b1d83e6f71e6d0bf303ca688eb2949 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Ideas, and some definite tasks to do, in no particular order:

- hash lookup for peers based on protocol address; cache route lookups
  for incomplete entries

- Create some logic to detect if NBMA and public IPs are mixed up in
  the "map" directive. Issue on warning about this.

- if direct connection not possible, take closest known NHS
  from ResolutionReply Forward NHS list, so we choose directly
    connected NHS as our relay

- get rid of replaced flag, mtu specific script call backs done properly
  e.g. when nbma changes (delete old route, add new); convert the state
  machine to renew instead of have "new" entry replacing old ones

- when core has no other core links up yet, it should not negative cache
  anything; instead it should give more time for those links to come up

- main vpnc has shortcut-target /16, with delegation of
  contained subnet /24 to secondary vpnc; indication gets
  ignored due to shortcut already being there

- clean up the internal nhrp_packet_send_* API

- send purge on bgp nexthop change

- NHS should not forward Resolution Request to NHC; it
  should instead reply itself based on registered leases

- IPv6-over-IPv4 support

- IPv[46]-over-IPv6 support, see: http://patchwork.ozlabs.org/patch/173904/

- opennhrp to drop capabilities and run as non-root, libcap-ng

- opennhrp-script: setup bgp weight based on RTT

- interface-up, nhs-up, nhs-down need to be serialized for quagga
  management. alternatively, the script could return some special
  value meaning "try again soon".

- offload multicast packet forwarding to kernel

- use mmapped pf_packet interface

- nhrp_peer should be split to more files, it's relatively large now.
  might split nhrp_peer to separate types.

- Proper handling of unique bit. Currently registration of unique address
  overwrites previous registration, but this against RFC.

- Load balancing: return multiple CIE entries, when we have multiple
  local IP addresses. When receiving multi CIE next-hop, balance traffic
  or for shortcut routes, create a multi nexthop route.

- instead of keeping track of local routes for shortcuts, we could use
  per-packet kernel lookup for off-nbma destinations.

- Create some logic to detect if NBMA and public IPs are mixed up in
  the "map" directive. Issue on warning about this.

- Support reloading of configuration (via SIGHUP or "opennhrpctl reload")

- Clean shutdown: send purge request to registration servers, dynamic
  clients and possibly track resolution requests and purge those too.

- talk zserv to quagga for shortcut routes

- non-blocking admin port writes (needs enumeration code to be
  interruptible and resumable)

- IGMP snooping and multicast relaying optimizations