| /******************************************************************************* |
| * BAREFOOT NETWORKS CONFIDENTIAL & PROPRIETARY |
| * |
| * Copyright (c) 2015-2016 Barefoot Networks, Inc. |
| |
| * All Rights Reserved. |
| * |
| * NOTICE: All information contained herein is, and remains the property of |
| * Barefoot Networks, Inc. and its suppliers, if any. The intellectual and |
| * technical concepts contained herein are proprietary to Barefoot Networks, |
| * Inc. |
| * and its suppliers and may be covered by U.S. and Foreign Patents, patents in |
| * process, and are protected by trade secret or copyright law. |
| * Dissemination of this information or reproduction of this material is |
| * strictly forbidden unless prior written permission is obtained from |
| * Barefoot Networks, Inc. |
| * |
| * No warranty, explicit or implicit is provided, unless granted under a |
| * written agreement with Barefoot Networks, Inc. |
| * |
| * $Id: $ |
| * |
| ******************************************************************************/ |
| /* |
| pltfm_pm thrift file |
| */ |
| |
| namespace py pltfm_pm_rpc |
| namespace cpp pltfm_pm_rpc |
| |
| typedef i32 pltfm_pm_status_t |
| typedef i32 pltfm_pm_dev_port_t |
| typedef byte pltfm_pm_device_t |
| |
| exception InvalidPltfmPmOperation { |
| 1:i32 code |
| } |
| |
| enum pltfm_pm_port_speed_t { |
| BF_SPEED_NONE = 0, |
| BF_SPEED_1G = 1, |
| BF_SPEED_10G = 2, |
| BF_SPEED_25G = 3, |
| BF_SPEED_40G = 4, |
| BF_SPEED_40G_NB = 5, |
| BF_SPEED_50G = 6, |
| BF_SPEED_100G = 7, |
| BF_SPEED_40G_NON_BREAKABLE = 8 |
| } |
| |
| enum pltfm_pm_fec_type_t { |
| BF_FEC_TYP_NONE = 0, |
| BF_FEC_TYP_FIRECODE = 1, |
| BF_FEC_TYP_REED_SOLOMON = 2 |
| } |
| |
| enum pltfm_pm_oper_status_t { |
| DOWN = 0, |
| UP = 1 |
| } |
| |
| enum pltfm_pm_board_type_t { |
| BF_PLTFM_BD_ID_MAVERICKS_P0A = 0x0234, |
| BF_PLTFM_BD_ID_MAVERICKS_P0B = 0x1234, |
| BF_PLTFM_BD_ID_MONTARA_P0A = 0x2234, |
| BF_PLTFM_BD_ID_MONTARA_P0B = 0x3234, |
| BF_PLTFM_BD_ID_MAVERICKS_P0B_EMU = 0x4234, |
| BF_PLTFM_BD_ID_UNKNOWN = 0XFFFF |
| } |
| |
| service pltfm_pm_rpc { |
| /* init */ |
| pltfm_pm_status_t pltfm_pm_port_add(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port, 3:pltfm_pm_port_speed_t ps, 4:pltfm_pm_fec_type_t fec) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_port_del(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_port_enable(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_port_dis(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_switchd_port_cleanup(1:pltfm_pm_device_t device) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_oper_status_t pltfm_pm_port_oper_status_get(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_board_type_t pltfm_pm_board_type_get() throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_port_an_set(1:pltfm_pm_device_t device, 2:pltfm_pm_dev_port_t dev_port, 3:i32 an_flag) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_serdes_lane_map_set(1:pltfm_pm_device_t device) throws (1:InvalidPltfmPmOperation ouch); |
| pltfm_pm_status_t pltfm_pm_serdes_init(1:pltfm_pm_device_t device) throws (1:InvalidPltfmPmOperation ouch); |
| } |