diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-08-13 03:40:08 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2008-08-13 03:40:08 +0000 |
commit | bddff934694191e9e5fb19639da7c1d56ddf9ea8 (patch) | |
tree | 16f702fcb8697ab2d68775a4b227f791b8bb5a5f | |
parent | 2bd5f41aaed188924b415485fad65ba88843fcf2 (diff) | |
download | src-bddff934694191e9e5fb19639da7c1d56ddf9ea8.tar.gz src-bddff934694191e9e5fb19639da7c1d56ddf9ea8.zip |
Fix VLAN hardware tag insertion/stripping on big-endian
architectures.
Reported by: naddy
Tested on: sparc64
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=181655
-rw-r--r-- | sys/dev/re/if_re.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index c845c74ec29b..59794394ea69 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1903,7 +1903,7 @@ re_rxeof(struct rl_softc *sc) maxpkt--; if (rxvlan & RL_RDESC_VLANCTL_TAG) { m->m_pkthdr.ether_vtag = - ntohs((rxvlan & RL_RDESC_VLANCTL_DATA)); + bswap16((rxvlan & RL_RDESC_VLANCTL_DATA)); m->m_flags |= M_VLANTAG; } RL_UNLOCK(sc); @@ -2307,7 +2307,7 @@ re_encap(struct rl_softc *sc, struct mbuf **m_head) * transmission attempt. */ if ((*m_head)->m_flags & M_VLANTAG) - vlanctl |= htons((*m_head)->m_pkthdr.ether_vtag) | + vlanctl |= bswap16((*m_head)->m_pkthdr.ether_vtag) | RL_TDESC_VLANCTL_TAG; si = prod; |