blob: b556518fea24b069ed7cd7818d95dbdb7b73f3e5 [file] [log] [blame]
/*******************************************************************************
* 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);
}