summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2014-05-24 03:25:32 +0000
committerRobert Mustacchi <rm@joyent.com>2014-05-29 02:00:30 +0000
commite91da55ff5412995f14d956fc173096f48a0dbe7 (patch)
treec99a6090f55600f4d2fc49ace8cdcf35e3da7f45 /usr/src/uts/common/sys
parent88d1ad82179b795c150d676c55cbde142aa68441 (diff)
downloadillumos-joyent-20140529.tar.gz
OS-3053 VNICs should support a variable MTU20140529release-20140529
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Rob Gulewich <robert.gulewich@joyent.com>
Diffstat (limited to 'usr/src/uts/common/sys')
-rw-r--r--usr/src/uts/common/sys/mac.h5
-rw-r--r--usr/src/uts/common/sys/mac_impl.h10
-rw-r--r--usr/src/uts/common/sys/vnic.h3
-rw-r--r--usr/src/uts/common/sys/vnic_impl.h3
4 files changed, 17 insertions, 4 deletions
diff --git a/usr/src/uts/common/sys/mac.h b/usr/src/uts/common/sys/mac.h
index 38049b991e..5803ad58d4 100644
--- a/usr/src/uts/common/sys/mac.h
+++ b/usr/src/uts/common/sys/mac.h
@@ -21,7 +21,7 @@
/*
* Copyright (c) 2005, 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.
*/
#ifndef _SYS_MAC_H
@@ -618,6 +618,9 @@ extern void mac_margin_get(mac_handle_t, uint32_t *);
extern int mac_margin_remove(mac_handle_t, uint32_t);
extern int mac_margin_add(mac_handle_t, uint32_t *,
boolean_t);
+extern int mac_mtu_add(mac_handle_t, uint32_t *,
+ boolean_t);
+extern int mac_mtu_remove(mac_handle_t, uint32_t);
extern int mac_fastpath_disable(mac_handle_t);
extern void mac_fastpath_enable(mac_handle_t);
extern void mac_no_active(mac_handle_t);
diff --git a/usr/src/uts/common/sys/mac_impl.h b/usr/src/uts/common/sys/mac_impl.h
index 2eef66113d..d19c19e43d 100644
--- a/usr/src/uts/common/sys/mac_impl.h
+++ b/usr/src/uts/common/sys/mac_impl.h
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, Joyent, Inc. All rights reserved.
+ * Copyright (c) 2014, Joyent, Inc. All rights reserved.
*/
#ifndef _SYS_MAC_IMPL_H
@@ -69,6 +69,13 @@ struct mac_margin_req_s {
uint32_t mmr_margin;
};
+typedef struct mac_mtu_req_s mac_mtu_req_t;
+struct mac_mtu_req_s {
+ mac_mtu_req_t *mtr_nextp;
+ uint_t mtr_ref;
+ uint32_t mtr_mtu;
+};
+
/* Generic linked chain type */
typedef struct mac_chain_s {
struct mac_chain_s *next;
@@ -534,6 +541,7 @@ struct mac_impl_s {
* sorted: the first one has the greatest value.
*/
mac_margin_req_t *mi_mmrp;
+ mac_mtu_req_t *mi_mtrp;
char **mi_priv_prop;
uint_t mi_priv_prop_count;
diff --git a/usr/src/uts/common/sys/vnic.h b/usr/src/uts/common/sys/vnic.h
index 3a6f5279ee..e18673a6c1 100644
--- a/usr/src/uts/common/sys/vnic.h
+++ b/usr/src/uts/common/sys/vnic.h
@@ -55,7 +55,8 @@ typedef enum {
VNIC_IOC_DIAG_MACPREFIX_INVALID,
VNIC_IOC_DIAG_MACPREFIXLEN_INVALID,
VNIC_IOC_DIAG_MACMARGIN_INVALID,
- VNIC_IOC_DIAG_NO_HWRINGS
+ VNIC_IOC_DIAG_NO_HWRINGS,
+ VNIC_IOC_DIAG_MACMTU_INVALID
} vnic_ioc_diag_t;
/*
diff --git a/usr/src/uts/common/sys/vnic_impl.h b/usr/src/uts/common/sys/vnic_impl.h
index ffaa2939f5..7e50091347 100644
--- a/usr/src/uts/common/sys/vnic_impl.h
+++ b/usr/src/uts/common/sys/vnic_impl.h
@@ -21,7 +21,7 @@
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
- * Copyright 2013 Joyent, Inc. All rights reserved.
+ * Copyright 2014 Joyent, Inc. All rights reserved.
*/
#ifndef _SYS_VNIC_IMPL_H
@@ -64,6 +64,7 @@ typedef struct vnic_s {
mac_notify_handle_t vn_mnh;
uint32_t vn_hcksum_txflags;
+ uint32_t vn_mtu;
} vnic_t;
#define vn_mch vn_mc_handles[0]