aboutsummaryrefslogtreecommitdiff
path: root/config.c
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2010-08-06 15:33:05 +0200
committerBjørn Mork <bjorn@mork.no>2010-08-06 15:37:37 +0200
commit57721604f26eefbe3dfb628affec8ca167a9f4b8 (patch)
treef249d1e41229aa0ca6426ebc559044f52ae74487 /config.c
parentfbf66aa98a358cd35f58844e59e420534f36cac4 (diff)
Adding ifid option to the dhcp6c.conf prefix-interface statementHEADmaster
This adds the ability to override the default EUI-64 address selection. Useful for interfaces without a unique hardware address, or for creating more userfriendly addresses in general. Signed-off-by: Bjørn Mork <bjorn@mork.no>
Diffstat (limited to 'config.c')
-rw-r--r--config.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/config.c b/config.c
index 23598fc..bb16c21 100644
--- a/config.c
+++ b/config.c
@@ -471,6 +471,7 @@ add_pd_pif(iapdc, cfl0)
{
struct cf_list *cfl;
struct prefix_ifconf *pif;
+ int i;
/* duplication check */
for (pif = TAILQ_FIRST(&iapdc->iapd_pif_list); pif;
@@ -524,6 +525,10 @@ add_pd_pif(iapdc, cfl0)
goto bad;
}
break;
+ case IFPARAM_IFID:
+ for (i = sizeof(pif->ifid) -1; i >= 0; i--)
+ pif->ifid[i] = (cfl->num >> 8*(sizeof(pif->ifid) - 1 - i)) & 0xff;
+ break;
default:
debug_printf(LOG_ERR, FNAME, "%s:%d internal error: "
"invalid configuration",