From f5fb1751ec92110669a039bb0de209bffe74538a Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Wed, 9 May 2018 11:18:57 +1000 Subject: discover: Support IPv6 addresses Support handling IPv6 addresses from user events and call the udhcpc6 client in addition to the udhcpc client. Signed-off-by: Samuel Mendoza-Jonas --- discover/user-event.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'discover/user-event.c') diff --git a/discover/user-event.c b/discover/user-event.c index 7f63d43..ee282bb 100644 --- a/discover/user-event.c +++ b/discover/user-event.c @@ -390,7 +390,9 @@ static int user_event_dhcp(struct user_event *uev, struct event *event) uint8_t hwaddr[MAC_ADDR_SIZE]; - if (!event_get_param(event, "mac") || !event_get_param(event, "ip")) + if (!event_get_param(event, "mac")) + return -1; + if (!event_get_param(event, "ip") && !event_get_param(event, "ipv6")) return -1; sscanf(event_get_param(event, "mac"), @@ -398,8 +400,12 @@ static int user_event_dhcp(struct user_event *uev, struct event *event) hwaddr, hwaddr + 1, hwaddr + 2, hwaddr + 3, hwaddr + 4, hwaddr + 5); - system_info_set_interface_address(sizeof(hwaddr), hwaddr, - event_get_param(event, "ip")); + if (event_get_param(event, "ipv6")) + system_info_set_interface_address(sizeof(hwaddr), hwaddr, + event_get_param(event, "ipv6")); + else + system_info_set_interface_address(sizeof(hwaddr), hwaddr, + event_get_param(event, "ip")); dev = discover_device_create(handler, event_get_param(event, "mac"), event->device); -- cgit v1.2.1