James Carlson wrote:
> Kais Belgaied writes:
>   
>> 4.3 EOF of the VLAN PPA Hack
>>      Although the committee members and reviewers agreed on the benefit of
>>      obsoleting the VLAN PPA hack, they debated the proper timing of the
>>      removal of the hack from OpenSolaris.
>>      A member noted the possible disruption to users of this visible
>>      feature, even though the release binding is minor. He suggested
>>      considering a phased approach, with an announcement of the EOF as part
>>      of this project, followed by another fast-track to finish the actual
>>      removal of the feature. The project team, while open to the idea of a
>>      two-step approach, argued that the co-existence of the old hack with
>>      the new architecture was problematic. The project re-designed the
>>      VLANs to be created as VNICS, which are MAC level datalinks, so that
>>      obeservability features and resource controls can be applied to them.
>>      Keeping the old hack will perpetuate the ambiguous behavior when
>>      plumbing a non existing interface, result in a duplication of code in
>>      the MAC and DLS layers. The answer was satisfactory to the committee.
>>     
>
> I wasn't available for the review, and this is obviously a late time
> to bring this up, but the answers above sound insufficient to me.
>
> Removal of support for the VLAN PPA hack in the kernel itself sounds
> feasible, but I don't agree that this should be taken as license to be
> deliberately incompatible on upgrade.  Doing so will break machines
> like jurassic.sfbay and many of our internal boot servers unless the
> administrators of those systems take deliberate -- and, per the
> opinion, apparently undocumented -- action prior to upgrade.
>
> Alternative plans that would allow removal of the kernel components
> and still preserve compatibility include at least these two
> approaches:
>
>   a) Running a one-time conversion that checks for /etc/hostname.* and
>      /etc/hostname6.* names that specify a VLAN, and automatically
>      running the necessary dladm command to create the VLAN first.
>      The scripting work in the net-physical script to accomplish this
>      is trivial, and looks something like:
>
>         while [ $# -gt 0 ]; do
>               case $1 in
>               *[0-9][0-9][0-9][0-9])
>                       base=`expr $1 : '\(.*[^0-9]\)'`
>                       ppa=`expr $1 : '.*\([0-9][0-9][0-9]\)$' + 0`
>                       vid=`expr $1 : '.*[^0-9]\([0-9]*\)[0-9][0-9][0-9]$'`
>                       dladm show-link $1 >/dev/null 2>&1 || \
>                               dladm create-vlan -l $base$ppa -v $vid $1
>               esac
>                 /sbin/ifconfig $1 plumb
>
>      (There are other places this could be done, and it's unclear to
>      me how this interacts with exclusive IP stack zones.)
>
>   b) Modify ifconfig itself to recognize the VLAN naming pattern and,
>      if the device named doesn't exist, use libdladm to create it
>      first.
>
> These are cheap, easy to specify, implement, and test, and would avoid
> breaking most running systems using VLANs today.  It would leave out
> only ad-hoc snooping on unplumbed VLANs and non-IP protocols run over
> VLANs.
>
> Is there any reason to avoid at least that level of compatibility?
>
>   
ISTR that we had agreed the team would use an upgrade path akin to 
option a, during review.   I know that this topic was discussed for more 
than just a minute or two during the meeting.

    -- Garrett

Reply via email to