From 0b0e5e2fc5b065092644a5c4717c0a03a9098dcf Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Mon, 12 Jan 2015 20:07:55 +0100 Subject: netifd: Make interface identifier of delegated IPv6 address configurable The ip6ifaceid UCI interface parameter makes the interface identifier of the delegated IPv6 address configurable. The parameter can have the following values: eui64 : Interface identifier is generated from the interface's MAC address random : Interface identifier is generated randomly fixed value : Interface identifier is a fixed value (eg ::1:2) The latter is the default value with a fixed value of ::1 for backwards compatibility Signed-off-by: Hans Dedecker Signed-off-by: Joeri Barbarien --- interface.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'interface.h') diff --git a/interface.h b/interface.h index 90087fc..8eeb7db 100644 --- a/interface.h +++ b/interface.h @@ -41,6 +41,12 @@ enum interface_config_state { IFC_REMOVE }; +enum interface_id_selection_type { + IFID_FIXED, + IFID_RANDOM, + IFID_EUI64 +}; + enum interface_update_flags { IUF_ADDRESS = (1 << 0), IUF_ROUTE = (1 << 1), @@ -139,6 +145,8 @@ struct interface { unsigned int ip6table; /* IPv6 assignment parameters */ + enum interface_id_selection_type assignment_iface_id_selection; + struct in6_addr assignment_fixed_iface_id; uint8_t assignment_length; int32_t assignment_hint; struct list_head assignment_classes; -- cgit v1.2.1