From 08119c678c05ef8e0fd2e70eb1a468b2e24ae1be Mon Sep 17 00:00:00 2001 From: Simon Goldschmidt Date: Fri, 2 Sep 2011 21:53:12 +0200 Subject: [PATCH] Create link-local addresses in all unix projects if LWIP_IPV6==1 --- ports/unix/proj/lib/unixlib.c | 6 ++++-- ports/unix/proj/minimal/main.c | 3 +++ ports/unix/proj/unixsim/simhost.c | 3 +++ ports/unix/proj/unixsim/simnode.c | 3 +++ ports/unix/proj/unixsim/simrouter.c | 14 ++++++++++---- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/ports/unix/proj/lib/unixlib.c b/ports/unix/proj/lib/unixlib.c index 661b0b4..b680a70 100644 --- a/ports/unix/proj/lib/unixlib.c +++ b/ports/unix/proj/lib/unixlib.c @@ -71,8 +71,10 @@ tcpip_init_done(void *arg) IP4_ADDR(&netmask, 255,255,255,0); netif_set_default(netif_add(&netif, &ipaddr, &netmask, &gateway, NULL, tapif_init, - tcpip_input)); - + tcpip_input)); +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif, 1); +#endif sys_sem_signal(sem); } diff --git a/ports/unix/proj/minimal/main.c b/ports/unix/proj/minimal/main.c index 24bc4b7..87ce26f 100644 --- a/ports/unix/proj/minimal/main.c +++ b/ports/unix/proj/minimal/main.c @@ -173,6 +173,9 @@ main(int argc, char **argv) netif_add(&netif, &ipaddr, &netmask, &gw, NULL, mintapif_init, ethernet_input); netif_set_default(&netif); netif_set_up(&netif); +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif, 1); +#endif #if SNMP_PRIVATE_MIB != 0 diff --git a/ports/unix/proj/unixsim/simhost.c b/ports/unix/proj/unixsim/simhost.c index 3c53aaf..abdacbd 100644 --- a/ports/unix/proj/unixsim/simhost.c +++ b/ports/unix/proj/unixsim/simhost.c @@ -359,6 +359,9 @@ init_netifs(void) netif_set_up(&netif); #endif +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif, 1); +#endif #if 0 /* Only used for testing purposes: */ diff --git a/ports/unix/proj/unixsim/simnode.c b/ports/unix/proj/unixsim/simnode.c index 538f892..6600f4e 100644 --- a/ports/unix/proj/unixsim/simnode.c +++ b/ports/unix/proj/unixsim/simnode.c @@ -89,6 +89,9 @@ tcpip_init_done(void *arg) netif_set_default(netif_add(&netif_unix, &ipaddr, &netmask, &gw, NULL, unixif_init_client, tcpip_input)); +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif_unix, 1); +#endif /* netif_set_default(netif_add(&ipaddr, &netmask, &gw, NULL, sioslipif_init1, tcpip_input)); */ diff --git a/ports/unix/proj/unixsim/simrouter.c b/ports/unix/proj/unixsim/simrouter.c index ec9606b..55186d0 100644 --- a/ports/unix/proj/unixsim/simrouter.c +++ b/ports/unix/proj/unixsim/simrouter.c @@ -91,14 +91,20 @@ tcpip_init_done(void *arg) IP4_ADDR(&ipaddr, 192,168,0,2); IP4_ADDR(&netmask, 255,255,255,0); - netif_set_default(netif_add(&netif_tap,&ipaddr, &netmask, &gw, NULL, tapif_init, - tcpip_input)); + netif_set_default(netif_add(&netif_tap, &ipaddr, &netmask, &gw, NULL, tapif_init, + tcpip_input)); +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif_tap, 1); +#endif IP4_ADDR(&gw, 192,168,1,1); IP4_ADDR(&ipaddr, 192,168,1,1); IP4_ADDR(&netmask, 255,255,255,0); - netif_set_default(netif_add(&netif_unix,&ipaddr, &netmask, &gw, NULL, unixif_init_server, - tcpip_input)); + netif_set_default(netif_add(&netif_unix, &ipaddr, &netmask, &gw, NULL, unixif_init_server, + tcpip_input)); +#if LWIP_IPV6 + netif_create_ip6_linklocal_address(&netif_unix, 1); +#endif system("route add 192.168.1.1 192.168.0.2"); system("route add 192.168.1.2 192.168.0.2");