ND Proxy - cetic/6lbr GitHub Wiki
The ND proxy functionality is based on RFC4389 (Neighbor Discovery Proxies) with some changes as the “downstream” segment is based on RPL and not NDP.
- Incoming PIO (Prefix Information Option) in RA is extracted and used to configure the DODAG prefix
- Incoming RIO (Route Information Option) in RA are extracted and stored in the 6LBR routing table
- Incoming NS targeting a WSN node are handled by the ND Proxy : If there is an existing entry for the WSN node in the routing table, the ND Proxy will send back a NA
- NS/NA proxy based on RPL DAO and No-Path DAO
| NDP Feature | ND Proxy implementation |
|---|---|
| Router discovery | Standard Router Solicitation messages are sent by the 6LBR |
| Prefix discovery | On-link Prefix in received RA is used to set up the DIO propagated in the WSN |
| Address autoconfiguration | Prefix in received RA is used to configure the 6LBR address and is propagated into the DIO |
| Address resolution | The ND proxy will reply to NS targeting a known WSN node (i.e. present in the routing table) with a NA using the 6LBR link-layer address |
| Next-hop determination | Upstream WSN packet will be routed by the 6LBR and forwarded either to the on-link host or to the subnet Default Router |
| Neighbor unreachability detection (NUD) | 6LBR uses No-Path DAO to remove WSN node no longer present, it will not send back a NA for a node not in the routing table anymore |
| Duplicate address detection (DAD) | ND Proxy honors DAD requests like address resolution and NUD |
| Redirect | Not implemented yet |