From 9dc0f5536a83ce4ef09e0009beec208ac83f0a75 Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Wed, 28 Mar 2018 23:20:07 +0000 Subject: OS-XXXX wip vxlan lso --- usr/src/uts/common/io/overlay/overlay.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'usr/src/uts/common/io/overlay/overlay.c') diff --git a/usr/src/uts/common/io/overlay/overlay.c b/usr/src/uts/common/io/overlay/overlay.c index 7aba941fd6..73c3c1ebb7 100644 --- a/usr/src/uts/common/io/overlay/overlay.c +++ b/usr/src/uts/common/io/overlay/overlay.c @@ -1066,6 +1066,16 @@ overlay_tx_checksum_shift(mblk_t *mp, uint16_t flags) } } +static inline void +overlay_tx_lso_copy(const mblk_t *src, mblk_t *dst) +{ + uint16_t flags = DB_LSOFLAGS(src) & HW_LSO_FLAGS; + if (flags == 0) + return; + DB_LSOFLAGS(dst) |= flags; + DB_LSOMSS(dst) = DB_LSOMSS(src); +} + mblk_t * overlay_m_tx(void *arg, mblk_t *mp_chain) { @@ -1123,6 +1133,7 @@ overlay_m_tx(void *arg, mblk_t *mp_chain) */ overlay_tx_checksum_shift(ep, DB_CKSUMFLAGS(mp)); if (ep != mp) { + overlay_tx_lso_copy(mp, ep); ep->b_cont = mp; } -- cgit v1.2.3