> > The problem is that IP simply assumes that both ill "halves" must refer to
 > > the same phyint.  Above, the IPv4 half is a DL_ETHER link, and the IPv6
 > > half is a SUNW_DL_IPMP pseudo-link, which quickly induce a panic.  While
 > > I've fixed IP to catch this case in my workspace, I think the same problem
 > > may show up in the vanity naming bits.  For instance, what happens in the
 > > following case?
 > > 
 > >    # ifconfig vni0 inet6 plumb
 > >    # dladm rename-link ce0 vni0
 > >    # ifconfig vni0 plumb
 > > 
 > 
 > [With your fix in IP, the second ifconfig should just fail, is that right?]

Right.  My fix is not really complete, but covers the above case by
requiring that all ills with the same name must have the same media type.

 > First, even the second ifconfig does not cause panic, it will result in a 
 > strange situation, that the inet6 part of vni0 is a pseudo IP interface, and 
 > the inet4 part of vni0 corresponds to a physical link.

I wouldn't trust that to work robustly, because one of those ills thinks
it's on a totally different phyint type (note that IS_VNI() checks for the
PHYI_LOOPBACK and PHYI_VIRTUAL phyint_flags).

 > Therefore, one would argue that the rename operation should just fail, as 
 > there is already interface named vni0. I think we discussed about this and 
 > concluded that it is just wrong to validate the link names, and exclude 
 > those well established IP interface name prefixes, even that some careless 
 > configuration will result in confusion.

I think preventing this scenario at "ifconfig plumb" time is sufficient.

-- 
meem

Reply via email to