diff options
author | Patrick Mooney <pmooney@pfmooney.com> | 2020-05-13 21:43:04 +0000 |
---|---|---|
committer | Patrick Mooney <pmooney@pfmooney.com> | 2020-05-14 17:22:39 +0000 |
commit | 97f11506b8e20d03ac8f60ff1b6c7e38a3326df3 (patch) | |
tree | 09e72ef70f50ae6e1e261b38fe334873dc00761d | |
parent | 91a7ed35601b9dac7c03b16025b401dc9f7a6bbd (diff) | |
download | illumos-joyent-97f11506b8e20d03ac8f60ff1b6c7e38a3326df3.tar.gz |
12731 disable IPv6 LSO until emulation is available
Reviewed by: Ryan Zezeski <ryan@zinascii.com>
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r-- | usr/src/uts/common/io/mac/mac_client.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/usr/src/uts/common/io/mac/mac_client.c b/usr/src/uts/common/io/mac/mac_client.c index 6563d51069..7ff05f2ab6 100644 --- a/usr/src/uts/common/io/mac/mac_client.c +++ b/usr/src/uts/common/io/mac/mac_client.c @@ -4243,12 +4243,27 @@ i_mac_capab_get(mac_handle_t mh, mac_capab_t cap, void *cap_data) { mac_impl_t *mip = (mac_impl_t *)mh; - if (mip->mi_bridge_link != NULL) + if (mip->mi_bridge_link != NULL) { return (cap == MAC_CAPAB_NO_ZCOPY); - else if (mip->mi_callbacks->mc_callbacks & MC_GETCAPAB) - return (mip->mi_getcapab(mip->mi_driver, cap, cap_data)); - else + } else if (mip->mi_callbacks->mc_callbacks & MC_GETCAPAB) { + boolean_t res; + + res = mip->mi_getcapab(mip->mi_driver, cap, cap_data); + /* + * Until we have suppport for TSOv6 emulation in the MAC + * loopback path, do not allow the TSOv6 capability to be + * advertised to consumers. + */ + if (res && cap == MAC_CAPAB_LSO) { + mac_capab_lso_t *cap_lso = cap_data; + + cap_lso->lso_flags &= ~LSO_TX_BASIC_TCP_IPV6; + cap_lso->lso_basic_tcp_ipv6.lso_max = 0; + } + return (res); + } else { return (B_FALSE); + } } /* |