DHCP group: 224.0.0.66
DHCP port: 60006
DHCP prefix: ccnx:/local/dhcp
DHCP content name: ccnx:/local/dhcp/content
DHCP configuration file: specified by -f parameter, or ./ccn_dhcp.config by default
configuration format:
prefix gateway(ip address/machine name) port. e.g.,
ccnx:/0 mario 9695
DHCP Server:
- Join DHCP group
- join multicast group
- create a new face towards the DHCP group and port (the new face uses UDP)
- bind DHCP prefix to this new face
- Send DHCP content to local ccnd
- read DHCP configuration file (all entries of the config file are sent to the requesting node in one message)
- construct DHCP entries into a ccnx message (with DHCP content name) and send to local ccnd (a new entry "CCN_DTAG_DHCPContent = 115" is added to enum ccn_dtag)
DHCP Client:
- Join DHCP group (the same as DHCP server)
- Get DHCP content from DHCP server, parse the message into forwarding entries
- For each forwarding entry (with prefix, host and port):
- create a new face to the host and port (the new face uses UDP)
- bind the prefix to the face
usage:
ccndhcpserver [-f config_file]
ccndhcpclient
note:
multicast needs to be enabled. it is turned on by default by linux kernel.