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
pgpKSn968dZSx.pgp
Description: PGP signature