Hi Frank,

getzoneid() can return a correct value even if it's called in a taskq thread
(kernel context) and/or in an interrupt handler (interrupt context)?



> > I'm wondering if there is a way to get a zoneid from kernel even though
> > it's not in user context. If it's possible, this is useful for us to
> > activate an HCA port in the exclusive-IP zone at boot time.
> >
> > Here's the background info.
> >
> > Currently the IP path info is gotten when the driver is attached, then
> > an HCA port can be ready for RDSv3, but this way is for the global zone,
> > and it doesn't work well for the exclusive-IP zone because the driver cannot
> > get the zoneid when it's attached (so far). After all, we have to wait until
> > customers run a command for RDSv3 in the zone, but the port should be ready
> > at boot time w/o any customers' actions. It'd be better off getting it
> > in the driver attach, but I don't know if it's possible.
> >
> > If it's not possible to get a zoneid from kernel if it's not in user 
> > context,
> > then is there any recommended method to get it at boot time? I'm thinking
> > maybe by using SMF, we can invoke an appropriate command (like ifconfig) at
> > boot time to activate HCAs in the exclusive-IP zones, but if there is a 
> > proper
> > way for this kind of purpose, that'd be better.
> for kernel consumers use:
> #include <sys/zone.h>
>     473 extern zoneid_t getzoneid(void);
> cheers
> ---
> frankB
zones-discuss mailing list

Reply via email to