[ECOS] Re: Disable IPv6 at startup?

Sergei Gavrikov sergei.gavrikov@gmail.com
Thu Mar 1 12:09:00 GMT 2012


On Wed, 29 Feb 2012, Grant Edwards wrote:

[snip]

> OK, I've come up with something I like a little better.  The only
> change it requires to the network stack is that ip6_init2() needs to
> be globally visible (ip6_init already is, so I don't see the harm in
> making ip6_init2 visible).  If ip6_init2 is visible, then you can
> disable ipv6 support with this code:
> 
> static void init_noop(void* dummy)
> {
> }
> 
> static void disable_ipv6(void)
> {
>   extern void cyg_net_add_domain(void *);
>   extern void ip6_init2(void *);
>   extern char inet6domain[];
>   extern struct init_tab_entry __NET_INIT_TAB__[], __NET_INIT_TAB_END__;
>   struct init_tab_entry *init_entry;
> 
>   for (init_entry = __NET_INIT_TAB__; init_entry != &__NET_INIT_TAB_END__;  init_entry++) 
>       if ((init_entry->fun == cyg_net_add_domain && init_entry->data == (void*)inet6domain) ||
>           (init_entry->fun == ip6_init2))
>           init_entry->fun = init_noop;
> }

IMHO, it is neat solution. Thanks for usage example. BTW, the KAME's
successors had declared ip6_init2() as you suggest:

  http://ftp.fr.openbsd.org/pub/OpenBSD/src/sys/netinet6/ip6_input.c

Please, submit the patch.

Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list