Thank you Erik and James for the discussion.

On Tue, Nov 17, 2009 at 3:44 PM, Erik Nordmark <[email protected]> wrote:
> Peter Teoh wrote:
>
>> wow....each netstack for each IP zone?   what is the purpose?   at the
>> kernel level, everyone can see and modify each other right?   so I don't
>> think it is for privilege segregation - in the security sense?   sorry for
>> the newbie question, i will read into these documentation.....slowly :-).
>
> The purpose is to isolate the IP traffic for different exclusive IP zones.

I see.   My present h/w is AMD quad-core CPU, and two NIC, and one
zone (default) so far:

doing a mdb -k:

> ::squeue
            ADDR STATE CPU            FIRST             LAST           WORKER
ffffff02d7cbdac0 00320   0 0000000000000000 0000000000000000 ffffff0010818c60
ffffff02d7cbdb80 00320   2 0000000000000000 0000000000000000 ffffff00107eec60
ffffff02d7cbdc40 00820   3 0000000000000000 0000000000000000 ffffff000fa03c60
ffffff02d7cbdd00 00820   2 0000000000000000 0000000000000000 ffffff000f9a3c60
ffffff02d7cbddc0 00820   1 0000000000000000 0000000000000000 ffffff000f92dc60
ffffff02d7cbde80 00820   0 0000000000000000 0000000000000000 ffffff000f579c60
> ffffff02d7cbde80::whatis
ffffff02d7cbde80 is ffffff02d7cbde80+0, allocated from squeue_cache
> ffffff02d7cbddc0::whatis
ffffff02d7cbddc0 is ffffff02d7cbddc0+0, allocated from squeue_cache
>

note sure what the above data structures correspond to?   squeues?
but it does not mapped to per-CPUs concept?

similarly for this:

> ::netstack
            ADDR STACKID  FLAGS
ffffff02d2ca0a40      0    000000
> ffffff02d2ca0a40::whatis
ffffff02d2ca0a40 is ffffff02d2ca0a40+0, allocated from kmem_alloc_256

perhaps there is only one zone so far?

> We've seen many cases where there is a need to consolidate servers that are
> connected to different VLANs (or different LANs) on the same system. The
> exclusive-IP zones enable that by providing the equivalent of an "IP airgap"
> - there is no way for IP packets (or ARP packets) to cross from one
> exclusive-IP zone to another, and all the modifiable data structures in the
> TCP/IP stack are separate for each exclusive-IP zone.
>
> The fact that the kernel can write all over all of physical memory doesn't
> impact this; even with a hypervisor as in Xen the hypervisor can write all
> of physical memory. In both cases we try to write software that doesn't
> scribble over memory. The applications, including for uid=0, can not read or
> write TCP/IP datastructures that are part of a different exclusive-IP zone.
>
> In OpenSolaris with the vnic support this can also be used to build a
> network in a box (defining etherstubs and vnics and connecting them together
> with some exclusive-IP zones being routers, others being firewalls, and then
> with applications running on yet other ones.) This is very powerful for
> testing; I can run a dozen exclusive-IP zones on an old laptop.
>
>   Erik

Sorry about this question....so for each VNIC u will have one IP
instance, which is one netstack, correct?

>



-- 
Regards,
Peter Teoh
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to