diff options
author | Bjørn Mork <bjorn@mork.no> | 2010-08-06 15:33:05 +0200 |
---|---|---|
committer | Bjørn Mork <bjorn@mork.no> | 2010-08-06 15:37:37 +0200 |
commit | 57721604f26eefbe3dfb628affec8ca167a9f4b8 (patch) | |
tree | f249d1e41229aa0ca6426ebc559044f52ae74487 /config.c | |
parent | fbf66aa98a358cd35f58844e59e420534f36cac4 (diff) |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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", |