[crossbow-discuss] Design review of IP Instances part of Crossbow

Erik Nordmark erik.nordmark at sun.com
Tue Oct 17 11:17:52 PDT 2006


Darren.Reed at Sun.COM wrote:

{Responding out of order.]

 >> ifs_ap_proxies and ifs_ap_proxylist are almost static - apr_ref is
 >> modified. Are you suggesting we should keep apr_ref in a separate
 >> list/array?
 >
 >
 > On the contrary, apr_ref needs to stay where it is for simplicity,
 > otherwise
 > you need to invent a new mechanism to track whether or not a proxy is in
 > use.

If apr_ref needs to stay, then we must have one ap_proxies and 
ap_proxylist per IP instance AFAICT.
Do you see an other solution?

 > If/when it becomes possible to load a kernel module in a non-global zone
 > then it would be time to consider making some changes on a per-zone
 > basis.

when = never

If you want different kernel modules for different "containers" the 
solution is having different kernels i.e. Xen or Sparc LDOMS.

> Initially I was thinking that each proxy would be responsible for
> maintaining its own collection of stack instance pointers.  This will
> however generate a needlessly high amount of code duplication.
> 
> Having the apr_init function return a pointer is a better idea.
> But where does that get stored?
> Putting it in the aproxy_t structure seems like a fine idea except
> that this would imply an aproxy_t per instance (which I currently
> don't believe serves any purpose at all.)  The end result is that
> this calls for another list of things, per instance.

But due to apr_ref we need per-instance aproxy_t in any case.

> The ap_session_t would be an appropriate place to store this
> pointer for easy retrieval after appr_new() has been called and
> that would need to search to find the correct instance pointer.
> 
> Only 3 of the proxies include data structures that could be
> useful per instance: FTP, IPsec and PPTP.

All of them have two variables that are modified. E.g.,
	frentry_t		ifs_netbiosfr;
	int			ifs_netbios_proxy_init;

If you remove all those unneeded ones from Nevada, then IP Instances 
doesn't have to virtualize them.

    Erik



More information about the crossbow-discuss mailing list