summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/mac_impl.h
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2017-03-17 18:49:59 +0000
committerRobert Mustacchi <rm@joyent.com>2017-04-07 21:55:04 +0000
commit37cc369ac2aaaf84e83ed78aa13cb2a3d20e3fe8 (patch)
treeddce8038d3c9cc0e54abecd8bf26caec063ff5f9 /usr/src/uts/common/sys/mac_impl.h
parent4dc16d22d09463c940a8c3315c7a1f9bf74eba88 (diff)
downloadillumos-joyent-37cc369ac2aaaf84e83ed78aa13cb2a3d20e3fe8.tar.gz
OS-6022 want basic transceiver visibility
OS-6023 ixgbe MAC_CAPAB_TRANSCEIVER support OS-6024 i40e MAC_CAPAB_TRANSCEIVER support Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Ryan Zezeski <ryan.zeseski@joyent.com> Approved by: Patrick Mooney <patrick.mooney@joyent.com>
Diffstat (limited to 'usr/src/uts/common/sys/mac_impl.h')
-rw-r--r--usr/src/uts/common/sys/mac_impl.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/usr/src/uts/common/sys/mac_impl.h b/usr/src/uts/common/sys/mac_impl.h
index 46293b1a74..1bbaf9810b 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 2015, Joyent, Inc.
+ * Copyright (c) 2017, Joyent, Inc.
*/
#ifndef _SYS_MAC_IMPL_H
@@ -476,6 +476,11 @@ struct mac_impl_s {
mac_ring_handle_t mi_default_tx_ring;
/*
+ * Transceiver capabilities. SL protected.
+ */
+ mac_capab_transceiver_t mi_transceiver;
+
+ /*
* MAC address list. SL protected.
*/
mac_address_t *mi_addresses;
@@ -911,6 +916,19 @@ extern mac_bridge_rx_t mac_bridge_rx_cb;
extern mac_bridge_ref_t mac_bridge_ref_cb;
extern mac_bridge_ls_t mac_bridge_ls_cb;
+/*
+ * MAC Transceiver related functions
+ */
+struct mac_transceiver_info {
+ boolean_t mti_present;
+ boolean_t mti_usable;
+};
+
+extern void mac_transceiver_init(mac_impl_t *);
+extern int mac_transceiver_count(mac_handle_t, uint_t *);
+extern int mac_transceiver_info(mac_handle_t, uint_t, boolean_t *, boolean_t *);
+extern int mac_transceiver_read(mac_handle_t, uint_t, uint_t, void *, size_t,
+ off_t, size_t *);
#ifdef __cplusplus
}