On Sun, Sep 17, 2006 at 01:33:30PM +0000, Andre Oppermann wrote:
> andre       2006-09-17 13:33:30 UTC
[...]
>   Move ethernet VLAN tags from mtags to its own mbuf packet header field
>   m_pkthdr.ether_vlan.  The presence of the M_VLANTAG flag on the mbuf
>   signifies the presence and validity of its content.
>   
>   Drivers that support hardware VLAN tag stripping fill in the received
>   VLAN tag (containing both vlan and priority information) into the
>   ether_vtag mbuf packet header field:
>   
>           m->m_pkthdr.ether_vtag = vlan_id;       /* ntohs()? */
>           m->m_flags |= M_VLANTAG;
>   
>   to mark the packet m with the specified VLAN tag.
>   
>   On output the driver should check the mbuf for the M_VLANTAG flag to
>   see if a VLAN tag is present and valid:
>   
>           if (m->m_flags & M_VLANTAG) {
>                   ... = m->m_pkthdr.ether_vtag;   /* htons()? */
>                   ... pass tag to hardware ...
>           }
>   
>   VLAN tags are stored in host byte order.  Byte swapping may be necessary.
>   
>   (Note: This driver conversion was mechanic and did not add or remove any
>   byte swapping in the drivers.)
>   
>   Remove zone_mtag_vlan UMA zone and MTAG_VLAN definition.  No more tag
>   memory allocation have to be done.
>   
>   Reviewed by:    thompsa, yar
>   Sponsored by:   TCP/IP Optimization Fundraise 2005
>   
I think this deserved a __FreeBSD_version bump for third-party
Ethernet drivers, since this change removes public interfaces
such as VLAN_INPUT_TAG() and VLAN_OUTPUT_TAG().


Cheers,
-- 
Ruslan Ermilov
[EMAIL PROTECTED]
FreeBSD committer

Attachment: pgpKSn968dZSx.pgp
Description: PGP signature

Reply via email to