Anything not quoted is completely satisfactory to me.

Everything else mentioned is me verifying my understanding, and proposing one
future-work-item.

On Wed, Aug 05, 2009 at 12:06:11PM -0400, Sebastien Roy wrote:

<mucho snippage deleted!>

> > DM-5        Lines 306-9     T5      Nit --> why EINVAL for both cases?
> >                             One error is IPTUN_TYPE_IPV4, which perhaps
> >                             could be EPROTONOSUPPORT?  And the other is a
> >                             too-large value... perhaps E2BIG?  Or is an
> >                             app expecting EINVAL for all of these?
> 
> REJECT: The combination of the encapsulation limit property on a tunnel
> type that is not IPv6 is invalid, thus EINVAL.  This is in the context
> of setting the "encaplimit" link property via dladm set-linkprop.  If we
> want to extend the DLADM_* error space to incorporate more specific
> errors for property values that are out of range, or property values
> that don't apply to the object they're being applied to, then that
> should probably be done across the board for all properties and not just
> this one.

Okay, so the errnos aren't richer because the DLADM_* error space is not rich
enough.  Is that a correct understanding?

<SNIP!>

> > DM-8        Line 772        T5      If someone uses ndd and sets
> >                             ip_path_mtu_discovery to off, should you be
> >                             setting IPH_DF?
> 
> DEFER: I need to figure out how this would work...  It's much easier to
> do this with Erik's refactoring code, which will follow this project.
> Note that the tun module doesn't do that today, so not doing this
> wouldn't be a regression...

You're right -- it's not a regression.  I was hoping we'd Do Better (TM) this
time, but you're also right that datapath would be more appropriate for
something like this.

> >                             How will this play (or not) with TX?  Have
> >                             you had Jarrett or Ken look at this?
> 
> TX doesn't play in exclusive stack zones.  If this didn't work, then TCP
> connections or any other IP clients represented by a conn_t wouldn't
> work either with TX.  Will have Ken or Jarrett look at this anyway; good
> suggestion.

And as you said at lunch, Will Young is also an excellent TX resource here.

> >                             Finally, we've talked about split-zone
> >                             tunnels (lower-layer/conn_t in one zone,
> >                             upper-layer/GLDv3-stuff in another) -- will
> >                             there need to be extra magic here if we pull
> >                             this off?
> 
> No, no magic needed, this already works.  One can create a tunnel link
> in the global zone and assign it to a non-global zone using zonecfg
> and/or the "zone" link property.  One can then plumb IP interfaces over
> that tunnel link in the non-global zone.

I've an RFE --> allow tunnel link *creation* in non-global zones.  Then you
can have Bill Sommerfeld's dream configuration of a VPN server where red
(internal) and black (external) networks are completely distinct w.r.t. IP
Instances, AND the black (external) network is on a non-global zone, just in
case it IS compromised as well as the red (internal) one.

<SNIP!>

> > DM-11       Line 1378       T3      Looking from the contents of modhash.c, 
> > why
> >                             are you locking iptun_hash at all?  It
> >                             appears that modhash.c's implementation
> >                             enforces a reader/writer lock around this
> >                             already.  Is it because of the corner-case in
> >                             iptun_task_cb()?  You also mention a condvar
> >                             up toward the top.  That too?
> > 
> >                             If either of those are the case, make sure
> >                             you mention that at the top of iptun.c.
> 
> ACCEPT: Will make this more clear in the locking notes that I need to
> add.  There is already a description of why this is needed in the
> comments at 492-527, but this could be pulled up to a central location.

When I said, "the corner-case in iptun_task_cb()", I meant lines 492-527, so
I did catch that.  Thanks for moving this up closer to the lock itself.


Thanks!
Dan


Reply via email to