From e91da55ff5412995f14d956fc173096f48a0dbe7 Mon Sep 17 00:00:00 2001 From: Robert Mustacchi Date: Sat, 24 May 2014 03:25:32 +0000 Subject: OS-3053 VNICs should support a variable MTU Reviewed by: Jerry Jelinek Reviewed by: Rob Gulewich --- usr/src/uts/common/io/mac/mac_client.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'usr/src/uts/common/io/mac/mac_client.c') diff --git a/usr/src/uts/common/io/mac/mac_client.c b/usr/src/uts/common/io/mac/mac_client.c index 0f0d44cda5..88620518f1 100644 --- a/usr/src/uts/common/io/mac/mac_client.c +++ b/usr/src/uts/common/io/mac/mac_client.c @@ -21,7 +21,7 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2013, Joyent, Inc. All rights reserved. + * Copyright (c) 2014, Joyent, Inc. All rights reserved. */ /* @@ -5258,6 +5258,14 @@ mac_set_mtu(mac_handle_t mh, uint_t new_mtu, uint_t *old_mtu_arg) goto bail; } + rw_enter(&mip->mi_rw_lock, RW_READER); + if (mip->mi_mtrp != NULL && new_mtu < mip->mi_mtrp->mtr_mtu) { + rv = EBUSY; + rw_exit(&mip->mi_rw_lock); + goto bail; + } + rw_exit(&mip->mi_rw_lock); + if (old_mtu != new_mtu) { rv = mip->mi_callbacks->mc_setprop(mip->mi_driver, "mtu", MAC_PROP_MTU, sizeof (uint_t), &new_mtu); -- cgit v1.2.3