aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/re
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2008-08-13 03:40:08 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2008-08-13 03:40:08 +0000
commitbddff934694191e9e5fb19639da7c1d56ddf9ea8 (patch)
tree16f702fcb8697ab2d68775a4b227f791b8bb5a5f /sys/dev/re
parent2bd5f41aaed188924b415485fad65ba88843fcf2 (diff)
downloadsrc-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
Diffstat (limited to 'sys/dev/re')
-rw-r--r--sys/dev/re/if_re.c4
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;