aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv/netvsc
diff options
context:
space:
mode:
authorSepherosa Ziehau <sephe@FreeBSD.org>2017-02-28 09:50:34 +0000
committerSepherosa Ziehau <sephe@FreeBSD.org>2017-02-28 09:50:34 +0000
commit9130c4f75b46e635c71031cdab9c345405e664dd (patch)
treec2c72c1514b980691b3760b79eaf53a7dbbed8b4 /sys/dev/hyperv/netvsc
parent94792a2c25c7b8d2625fc417cadb0cfaac01aa3b (diff)
downloadsrc-9130c4f75b46e635c71031cdab9c345405e664dd.tar.gz
src-9130c4f75b46e635c71031cdab9c345405e664dd.zip
hyperv/hn: Simplify RNDIS packet data offset calculation.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D9699
Notes
Notes: svn path=/head/; revision=314382
Diffstat (limited to 'sys/dev/hyperv/netvsc')
-rw-r--r--sys/dev/hyperv/netvsc/if_hn.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c
index d5061c5f7475..7b402d3ebbe7 100644
--- a/sys/dev/hyperv/netvsc/if_hn.c
+++ b/sys/dev/hyperv/netvsc/if_hn.c
@@ -1784,9 +1784,6 @@ hn_rndis_pktinfo_append(struct rndis_packet_msg *pkt, size_t pktsize,
pi->rm_type = pi_type;
pi->rm_pktinfooffset = RNDIS_PKTINFO_OFFSET;
- /* Data immediately follow per-packet-info. */
- pkt->rm_dataoffset += pi_size;
-
/* Update RNDIS packet msg length */
pkt->rm_len += pi_size;
@@ -1932,7 +1929,7 @@ hn_encap(struct ifnet *ifp, struct hn_tx_ring *txr, struct hn_txdesc *txd,
pkt->rm_type = REMOTE_NDIS_PACKET_MSG;
pkt->rm_len = sizeof(*pkt) + m_head->m_pkthdr.len;
- pkt->rm_dataoffset = sizeof(*pkt);
+ pkt->rm_dataoffset = 0;
pkt->rm_datalen = m_head->m_pkthdr.len;
pkt->rm_oobdataoffset = 0;
pkt->rm_oobdatalen = 0;
@@ -2003,7 +2000,7 @@ hn_encap(struct ifnet *ifp, struct hn_tx_ring *txr, struct hn_txdesc *txd,
pkt_hlen = pkt->rm_pktinfooffset + pkt->rm_pktinfolen;
/* Convert RNDIS packet message offsets */
- pkt->rm_dataoffset = hn_rndis_pktmsg_offset(pkt->rm_dataoffset);
+ pkt->rm_dataoffset = hn_rndis_pktmsg_offset(pkt_hlen);
pkt->rm_pktinfooffset = hn_rndis_pktmsg_offset(pkt->rm_pktinfooffset);
/*