[Devel] Re: [PATCH 1/3] C/R: Support for IPv6 addresses on network devices (v2)

Serge E. Hallyn serge at hallyn.com
Wed Apr 7 07:02:39 PDT 2010


Quoting Dan Smith (danms at us.ibm.com):
> SH> 1. this will only trigger if CONFIG_IPV6=y, not if it =m.  So you
> SH> might have meant
> SH> 	#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> 
> Ah, okay, right.
> 
> >> +	addrs = ckpt_netdev_inet6_addrs(dev->ip6_ptr, addrs, max, abuf);
> >> +	if (addrs == -E2BIG) {
> >> +		read_unlock(&dev_base_lock);
> >> +		goto retry;
> >> +	}
> 
> SH> This is the second problem.  If CONFIG_IPV6=n or CONFIG_IPV6=m, then
> SH> ckpt_netdev_inet6_addrs() will return -ENOSYS, and you'll fail here.
> SH> So in those cases there is now no way to do a checkpoint with
> SH> CHECKPOINT_NETNS (or without CHECKPOINT_NONETNS :).
> 
> SH> The fix of course can't be quite as simple as ignoring return
> SH> value of -ENOSYS since you'll have lost the passed-in addrs from
> SH> ckpt_netdev_inet4_addrs.
> 
> If I change it to compile in with CONFIG_IPV6_MODULE as you stated
> above, then it won't return -ENOSYS, right?  The code will still be

But it'll return -ENOSYS if CONFIG_IPV6=n.

> there, and will not traverse the ipv6 address list (if I make it check
> for an empty dev->ip6_ptr) until the module is loaded and the devices
> gain some IPv6 information.
> 
> I'll test this and resend the patch appropriately.
> 
> Thanks!
> 
> -- 
> Dan Smith
> IBM Linux Technology Center
> email: danms at us.ibm.com
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list