summaryrefslogtreecommitdiff
path: root/interface.h
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2015-01-12 20:07:55 +0100
committerSteven Barth <steven@midlink.org>2015-01-19 09:35:08 +0100
commit0b0e5e2fc5b065092644a5c4717c0a03a9098dcf (patch)
treed4bedf0e41e1a86faebe412fdf5abf656e8640b8 /interface.h
parente9d2014a478807c7fac0581bb4a145901a3f23b4 (diff)
downloadnetifd-0b0e5e2fc5b065092644a5c4717c0a03a9098dcf.tar.gz
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 <dedeckeh@gmail.com> Signed-off-by: Joeri Barbarien <joeri.barbarien@gmail.com>
Diffstat (limited to 'interface.h')
-rw-r--r--interface.h8
1 files changed, 8 insertions, 0 deletions
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;