shncpd icon indicating copy to clipboard operation
shncpd copied to clipboard

The simple, stupid and slow HNCP daemon

shncpd -- the simple, stupid and slow HNCP daemon

shncpd is an implementation of the Home Networking Control Protocol (HNCP) and associated protocols. It currently implements:

  • DNCP flooding;
  • prefix and address assignment;
  • prefix delegation (manually configured);
  • router advertisement server;
  • DHCPv4 server.

It does not implement routing itself, but relies on babeld.

Compiling

Compile with one of the following:

make

or

make EXTRA_DEFINES=-DUSE_LIBUBOX LDLIBS=-lubox

or

make EXTRA_DEFINES=-DUSE_OPENSSL LDLIBS=-lcrypto

Running

First, run babeld and tell it to redistribute protocol 43:

babeld -C 'redistribute local deny' \
       -C 'redistribute proto 43 allow' \
       eth0 wlan0

Then, run shncpd, passing the list of (internal) Homenet interfaces on the command line:

shncpd eth0 wlan0

In order to announce delegated prefixes and name servers, use the -E and -N flags:

shncpd -E 2001:db8:42::/48 -N 2001:db8:42::53 \
       -E 10.0.0.0/8 \
       eth0 wlan0

There is a manual page -- if everything else fails, read the documentation.