bengalih
Senior Member
When IPv6 is enabled (at least in Native mode), odhcp6c is daemonized to run performing as a DHCPv6 client.
The following can be seen running on the device:
The odhcp6c help defines -s as:
In turn, on the system the defined script, '/tmp/dhcp6c' is a symlink to '/sbin/rc'
I understand the function of odhcp6c to server as the DHCPv6 client requesting both DHCPv6-NA/PD configuration and to serve out RAs.
I also know that the triggering of '/tmp/dhcp6c' from within the above code is what seems to actually configure the interface with any received IPv6 addresses.
I am trying to understand a bit more about how it actually does so.
odhcp6c does not seem to be passing any command line parameters to dhcp6c.
dhcp6c does not seem to be a "normal" implementation of dhcp6c as it does not appear to take any command line arguments (like -d/-D to present debug info).
In fact if you run it on its own it just terminates with no information or logging.
Can anyone describe how these components actually work together within the firmware? I took a look at the code, but I'm afraid its beyond my C skill.
The following can be seen running on the device:
Code:
/usr/sbin/odhcp6c -df -R -s /tmp/dhcp6c -N try -c 0003000XXXXXXXXXXXX -FP 0:XXXXX eth0
The odhcp6c help defines -s as:
Code:
-s <script> Status update script (/usr/sbin/odhcp6c-update)
In turn, on the system the defined script, '/tmp/dhcp6c' is a symlink to '/sbin/rc'
Code:
root@router-asus:/tmp# ll /tmp/dhcp6c
lrwxrwxrwx 1 root root 8 Apr 7 13:00 /tmp/dhcp6c -> /sbin/rc*
I understand the function of odhcp6c to server as the DHCPv6 client requesting both DHCPv6-NA/PD configuration and to serve out RAs.
I also know that the triggering of '/tmp/dhcp6c' from within the above code is what seems to actually configure the interface with any received IPv6 addresses.
I am trying to understand a bit more about how it actually does so.
odhcp6c does not seem to be passing any command line parameters to dhcp6c.
dhcp6c does not seem to be a "normal" implementation of dhcp6c as it does not appear to take any command line arguments (like -d/-D to present debug info).
In fact if you run it on its own it just terminates with no information or logging.
Can anyone describe how these components actually work together within the firmware? I took a look at the code, but I'm afraid its beyond my C skill.