[clearview-discuss] 2007/527 Addendum for Clearview Vanity Naming and Nemo Unification
Cathy Zhou
Cathy.Zhou at sun.com
Sun Sep 16 22:07:01 PDT 2007
Garrett D'Amore wrote:
> Cathy Zhou wrote:
>> Garrett D'Amore wrote:
>>> Kais Belgaied wrote:
>>>>> ** MAC_CAPAB_NO_NATIVEVLAN
>>>>>
>>>>> A MAC_CAPAB_NO_NATIVEVLAN MAC capability will be added to the
>>>>> GLDv3 framework to indicate that a specific MAC cannot support
>>>>> VLAN PPA access by itself.
>>>>>
>>>> this sounds a little upside-down.
>>>> A driver has to advertise a negative capability, essentially saying
>>>> "Hey, I can't handle this feature"
>>>> as opposed to the more intuitive approach: drivers that can handle
>>>> native VLAN expose a capab (MAC_CAPAB_NATIVEVLAN),
>>>> and those who don't do not.
>>>> Any reason for this choice?
>>>
>>> It sounds really odd-ball to me, too. Plus, it would require
>>> touching all the existing GLDv3 driver.
>>
>> No. We introduce MAC_CAPAB_NO_NATIVEVLAN exactly for the reason that
>> we do not want to touch most of the GLDv3 driver.
>> MAC_CAPAB_NO_NATIVEVLAN means that this driver cannot handle VLAN PPA
>> access itself (therefore, it might also implies that this driver does
>> not handle the hardware checksum for VLAN packets). Existing GLDv3
>> drivers should *not* advertise this capability, except the aggr
>> driver, which might based on the underlying aggregated drivers.
>>
>> - Cathy
>>
>> Yech. Far, far better to add
>>> MAC_CAPAB_NATIVEVLAN (or even better, MAC_CAPAB_VLAN_PPA, which more
>>> accurately describes the feature.)
>>>
>>> Of course, IMO, this is really, really weird, because *today* Nemo
>>> drivers are totally ignorant of PPAs, as such. I'm not sure how a
>>> Nemo driver with this feature would act... what causes a VLAN PPA
>>> attach to happen. But there is lot about clearview that I don't
>>> completely understand.
>
> Okay, I'm confused.
>
> GLDv3 drivers do *not* handle PPAs at all. They are totally ignorant of
> the DLPI, and even of VLANs... the only things a GLDv3 driver knows
> directly about (normally) is
> a) instance numbers... each driver normally knows that it has a common
> instance number (which ultimately gets translated to the PPA for
> untagged packets, but that is incidental)
>
> b) tagged packets (which might be for VLANs, or might be for QoS
> tagging) are bigger. All GLDv3 drivers *today* can cope with the extra
> 4 bytes required for tagging.
>
> What exactly does MAC_CAPAB_NO_NATIVELAN convey? Put another way, if
> *all* current GLDv3 NICs qualify as having a "native vlan support"
> (which right now most just support a bigger packet size), then it is,
> IMO, silly to try to emulate above them.
>
> In otherwords, what will UV do with devices that have
> MAC_CAPAB_NO_NATIVEVLAN? Will they get "something special" (some
> different kind of VLAN emulation layer?) Why?
>
We handle MAC_CAPAB_NO_NATIVEVLAN differently in two places:
a. If mac_open() is for a VLAN PPA accessed stream, and the underlying MAC
supports MAC_CAPAB_PERSTREAM, but *not* MAC_CAPAB_NO_NATIVEVLAN, we can open
the underlying driver directly using its native VLAN PPA access.
b. If the MAC is MAC_CAPAB_NO_NATIVEVLAN, then do not advertise its HW_CKSUM
capability on VLAN streams even the MAC claims it is capable of doing HW CKSUM.
- Cathy
> I think it makes far far more sense for UV (and not just UV, but Nemo)
> to just have
>
> MAC_CAPAB_NO_TAGGING
>
> which covers all legacy drivers that lack full support for tag
> insertion.
> This means that those drivers won't support VLANs at all
> (and I don't think your -F workaround is a good idea, because it will be
> a call generator and because I think such hardware is now so old to be
> uninteresting, especially given the readily available options... the
> only common PCI legacy NICs I know with that problem are 3Com elxl,
> which is, AFAIK, due to be EOL'd.
>
> All the "interesting" legacy NICs (which is, IIUC, 90% for ce at this
> point, because most of the others are already converted, excepting
> perhaps a few rarer 3rd party NICs) are already converted to GLD.
> (There are mostly uninteresting ones, like pcelx, which hasn't been on
> the market for a very long time....) I'll convert the rest of the NIC
> drivers in ON as soon as I have a way to express the equivalent of
> MAC_CAPAB_NO_TAGGING. Then only the 3rd party ones... and ce and gem...
> will matter. (And I'll probably do gem soon as well, once I get access
> to the hardware... Its almost identical to the work I've already done
> for eri. :-)
>
> -- Garrett
>
>
More information about the opensolaris-arc
mailing list