/**@brief Function for initializing IP stack. * * @details Initialize the IP Stack. */ static void ip_stack_init(void) { uint32_t err_code; ipv6_init_t init_param; err_code = ipv6_medium_eui64_get(m_ipv6_medium.ipv6_medium_instance_id, \ &eui64_local_iid); APP_ERROR_CHECK(err_code); init_param.p_eui64 = &eui64_local_iid; init_param.event_handler = ip_app_handler; err_code = ipv6_init(&init_param); APP_ERROR_CHECK(err_code); err_code = icmp6_receive_register(icmp6_handler); APP_ERROR_CHECK(err_code); }
/**@brief Function for initializing IP stack. * * @details Initialize the IP Stack. */ static void ip_stack_init(void) { uint32_t err_code; eui64_t eui64_addr; ipv6_init_t init_param; IPV6_EUI64_CREATE_FROM_EUI48(eui64_addr.identifier, m_local_ble_addr.addr, m_local_ble_addr.addr_type); init_param.p_eui64 = &eui64_addr; init_param.event_handler = ip_app_handler; err_code = ipv6_init(&init_param); APP_ERROR_CHECK(err_code); err_code = icmp6_receive_register(icmp6_handler); APP_ERROR_CHECK(err_code); }
static void init_state(struct interface *ifp, int argc, char **argv) { struct if_options *ifo; const char *reason = NULL; configure_interface(ifp, argc, argv); ifo = ifp->options; if (ifo->options & DHCPCD_IPV4 && ipv4_init() == -1) { syslog(LOG_ERR, "ipv4_init: %m"); ifo->options &= ~DHCPCD_IPV4; } if (ifo->options & DHCPCD_IPV6 && ipv6_init() == -1) { syslog(LOG_ERR, "ipv6_init: %m"); ifo->options &= ~DHCPCD_IPV6RS; } if (!(options & DHCPCD_TEST)) script_runreason(ifp, "PREINIT"); if (ifo->options & DHCPCD_LINK) { switch (carrier_status(ifp)) { case 0: ifp->carrier = LINK_DOWN; reason = "NOCARRIER"; break; case 1: ifp->carrier = LINK_UP; reason = "CARRIER"; break; default: ifp->carrier = LINK_UNKNOWN; return; } if (reason && !(options & DHCPCD_TEST)) script_runreason(ifp, reason); } else ifp->carrier = LINK_UNKNOWN; }