Various ONLPv2 updates.

This commit is contained in:
Jeffrey Townsend
2019-01-11 23:30:25 +00:00
parent 882028b422
commit 4984299124
147 changed files with 1945 additions and 458 deletions

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5512-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,41 @@
#include <onlp/platformi/chassisi.h>
#include "platform_lib.h"
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
/* 2 PSUs */
*e++ = ONLP_PSU_ID_CREATE(1);
*e++ = ONLP_PSU_ID_CREATE(2);
/* LEDs Item */
for (i=1; i<=CHASSIS_LED_COUNT; i++)
{
*e++ = ONLP_LED_ID_CREATE(i);
}
/* THERMALs Item */
for (i=1; i<=CHASSIS_THERMAL_COUNT; i++)
{
*e++ = ONLP_THERMAL_ID_CREATE(i);
}
/* Fans Item */
for (i=1; i<=CHASSIS_FAN_COUNT; i++)
{
*e++ = ONLP_FAN_ID_CREATE(i);
}
/* 54 SFPs */
for(i = 1; i <= 54; i++) {
*e++ = ONLP_SFP_ID_CREATE(i);
}
return ONLP_STATUS_OK;
}

View File

@@ -1,45 +0,0 @@
#include "x86_64_accton_as5712_54x_int.h"
#if X86_64_ACCTON_AS5712_54X_CONFIG_INCLUDE_DEBUG == 1
#include <unistd.h>
static char help__[] =
"Usage: debug [options]\n"
" -c CPLD Versions\n"
" -h Help\n"
;
int
x86_64_accton_as5712_54x_debug_main(int argc, char* argv[])
{
int c = 0;
int help = 0;
int rv = 0;
while( (c = getopt(argc, argv, "ch")) != -1) {
switch(c)
{
case 'c': c = 1; break;
case 'h': help = 1; rv = 0; break;
default: help = 1; rv = 1; break;
}
}
if(help || argc == 1) {
printf("%s", help__);
return rv;
}
if(c) {
printf("Not implemented.\n");
}
return 0;
}
#endif

View File

@@ -43,7 +43,7 @@
#define FAN_1_ON_PSU1 6
#define FAN_1_ON_PSU2 7
#define PROJECT_NAME
#define PROJECT_NAME
#define LEN_FILE_NAME 50
@@ -52,7 +52,7 @@ typedef struct last_path_S
char status[LEN_FILE_NAME];
char speed[LEN_FILE_NAME];
char direction[LEN_FILE_NAME];
char ctrl_speed[LEN_FILE_NAME];
char ctrl_speed[LEN_FILE_NAME];
char r_status[LEN_FILE_NAME];
char r_speed[LEN_FILE_NAME];
}last_path_T;
@@ -75,30 +75,28 @@ static last_path_T last_path[] = /* must map with onlp_fan_id */
MAKE_FAN_LAST_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_2_ON_MAIN_BOARD),
MAKE_FAN_LAST_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_3_ON_MAIN_BOARD),
MAKE_FAN_LAST_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_4_ON_MAIN_BOARD),
MAKE_FAN_LAST_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_5_ON_MAIN_BOARD),
MAKE_FAN_LAST_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_5_ON_MAIN_BOARD),
MAKE_FAN_LAST_PATH_ON_PSU(57-003c),
MAKE_FAN_LAST_PATH_ON_PSU(58-003f),
MAKE_FAN_LAST_PATH_ON_PSU(57-003c),
MAKE_FAN_LAST_PATH_ON_PSU(58-003f),
};
#define MAKE_FAN_INFO_NODE_ON_MAIN_BOARD(id) \
{ \
{ ONLP_FAN_ID_CREATE(FAN_##id##_ON_MAIN_BOARD), "Chassis Fan "#id, 0 }, \
{ ONLP_FAN_ID_CREATE(FAN_##id##_ON_MAIN_BOARD), "Chassis Fan "#id, ONLP_OID_CHASSIS }, \
0x0, \
ONLP_FAN_CAPS_SET_PERCENTAGE | ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE, \
0, \
0, \
ONLP_FAN_MODE_INVALID, \
}
}
#define MAKE_FAN_INFO_NODE_ON_PSU(psu_id, fan_id) \
{ \
{ ONLP_FAN_ID_CREATE(FAN_##fan_id##_ON_PSU##psu_id), "Chassis PSU-"#psu_id " Fan "#fan_id, 0 }, \
{ ONLP_FAN_ID_CREATE(FAN_##fan_id##_ON_PSU##psu_id), "Chassis PSU-"#psu_id " Fan "#fan_id, ONLP_PSU_ID_CREATE(psu_id) }, \
0x0, \
0, \
0, \
0, \
ONLP_FAN_MODE_INVALID, \
}
@@ -133,22 +131,34 @@ onlp_fan_info_t linfo[] = {
printf("[Debug][%s][%d][read data: %s]\n", __FUNCTION__, __LINE__, r_data); \
if (close(fd) == -1) \
return ONLP_STATUS_E_INTERNAL
/* PSU relative marco */
#define SET_PSU_TYPE_AC_F2B_FAN(info) \
info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_F2B); \
info->caps |= ONLP_FAN_CAPS_SET_PERCENTAGE | ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE
#define SET_PSU_TYPE_AC_F2B_FAN(info) \
do { \
ONLP_OID_STATUS_FLAG_SET(info, PRESENT); \
info->dir = ONLP_FAN_DIR_F2B; \
info->caps |= ONLP_FAN_CAPS_SET_PERCENTAGE | ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE; \
} while(0)
#define SET_PSU_TYPE_AC_B2F_FAN(info) \
info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_B2F); \
info->caps |= ONLP_FAN_CAPS_SET_PERCENTAGE | ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE
#define SET_PSU_TYPE_UM400D_F2B_FAN(info) \
info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_F2B)
#define SET_PSU_TYPE_AC_B2F_FAN(info) \
do { \
ONLP_OID_STATUS_FLAG_SET(info, PRESENT); \
info->dir = ONLP_FAN_DIR_B2F; \
info->caps |= ONLP_FAN_CAPS_SET_PERCENTAGE | ONLP_FAN_CAPS_GET_RPM | ONLP_FAN_CAPS_GET_PERCENTAGE; \
} while(0)
#define SET_PSU_TYPE_UM400D_F2B_FAN(info) \
do { \
ONLP_OID_STATUS_FLAG_SET(info, PRESENT); \
info->dir = ONLP_FAN_DIR_F2B; \
} while(0)
#define SET_PSU_TYPE_UM400D_B2F_FAN(info) \
info->status |= (ONLP_FAN_STATUS_PRESENT | ONLP_FAN_STATUS_B2F)
do { \
ONLP_OID_STATUS_FLAG_SET(info, PRESENT); \
info->dir = ONLP_FAN_DIR_B2F; \
} while(0)
static int
@@ -157,45 +167,45 @@ _onlp_fani_info_get_fan(int local_id, onlp_fan_info_t* info)
int fd, len, nbytes = 10;
char r_data[10] = {0};
char fullpath[65] = {0};
/* get fan/fanr fault status (turn on when any one fails)
*/
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].status);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].status);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
if (atoi(r_data) > 0)
info->status |= ONLP_FAN_STATUS_FAILED;
ONLP_OID_STATUS_FLAG_SET(info, FAILED);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].r_status);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].r_status);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
if (atoi(r_data) > 0)
info->status |= ONLP_FAN_STATUS_FAILED;
ONLP_OID_STATUS_FLAG_SET(info, FAILED);
/* get fan/fanr direction (both : the same)
/* get fan/fanr direction (both : the same)
*/
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].direction);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].direction);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
if (atoi(r_data) == 0) /*F2B*/
info->status |= ONLP_FAN_STATUS_F2B;
else
info->status |= ONLP_FAN_STATUS_B2F;
info->dir = ONLP_FAN_DIR_F2B;
else
info->dir = ONLP_FAN_DIR_B2F;
/* get fan/fanr speed (take the average of two speeds)
*/
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
info->rpm = atoi(r_data);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].r_speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].r_speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
info->rpm = (info->rpm + atoi(r_data))/2;
/* get speed percentage from rpm */
info->percentage = (info->rpm * 100)/16800;
info->percentage = (info->rpm * 100)/16800;
/* check present */
/* check present */
if (info->rpm > 0)
info->status |= ONLP_FAN_STATUS_PRESENT;
ONLP_OID_STATUS_FLAG_SET(info, PRESENT);
return ONLP_STATUS_OK;
}
@@ -208,9 +218,9 @@ _onlp_fani_info_get_fan_on_psu_ym2401(int pid, onlp_fan_info_t* info)
/* get fan status
*/
if (psu_ym2401_pmbus_info_get(pid, "psu_fan1_speed_rpm", &val) == ONLP_STATUS_OK) {
info->status |= (val > 0) ? 0 : ONLP_FAN_STATUS_FAILED;
ONLP_OID_STATUS_FLAG_SET_VALUE(info, FAILED, val <= 0);
info->rpm = val;
info->percentage = (info->rpm * 100) / 21600;
info->percentage = (info->rpm * 100) / 21600;
}
return ONLP_STATUS_OK;
@@ -224,14 +234,14 @@ _onlp_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info)
char r_data[10] = {0};
char fullpath[50] = {0};
psu_type_t psu_type;
/* get fan other cap status according to psu type
/* get fan other cap status according to psu type
*/
psu_id = (local_id-FAN_1_ON_PSU1) + 1;
DEBUG_PRINT("[psu_id: %d]", psu_id);
DEBUG_PRINT("[psu_id: %d]", psu_id);
psu_type = get_psu_type(psu_id, NULL, 0); /* psu_id = 1 , present PSU1. pus_id =2 , present PSU2 */
DEBUG_PRINT("[psu_type: %d]", psu_type);
DEBUG_PRINT("[psu_type: %d]", psu_type);
switch (psu_type) {
case PSU_TYPE_AC_COMPUWARE_F2B:
@@ -250,26 +260,26 @@ _onlp_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info)
break;
default:
if (LOCAL_DEBUG)
printf("[Debug][%s][%d][psu_type=%d]\n", __FUNCTION__, __LINE__, psu_type);
printf("[Debug][%s][%d][psu_type=%d]\n", __FUNCTION__, __LINE__, psu_type);
break;
}
if (psu_type == PSU_TYPE_AC_COMPUWARE_F2B ||
psu_type == PSU_TYPE_AC_COMPUWARE_B2F )
{
/* get fan fault status
/* get fan fault status
*/
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].status);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].status);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
if (atoi(r_data) > 0)
info->status |= ONLP_FAN_STATUS_FAILED;
ONLP_OID_STATUS_FLAG_SET(info, FAILED);
/* get fan speed
*/
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
info->rpm = atoi(r_data);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].speed);
OPEN_READ_FILE(fd,fullpath,r_data,nbytes,len);
info->rpm = atoi(r_data);
/* get speed percentage from rpm */
info->percentage = (info->rpm * 100)/19328;
@@ -279,17 +289,7 @@ _onlp_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info)
{
return _onlp_fani_info_get_fan_on_psu_ym2401(psu_id, info);
}
return ONLP_STATUS_OK;
}
/*
* This function will be called prior to all of onlp_fani_* functions.
*/
int
onlp_fani_init(void)
{
return ONLP_STATUS_OK;
}
@@ -301,26 +301,26 @@ onlp_fani_info_get(onlp_oid_t id, onlp_fan_info_t* info)
int local_id;
VALIDATE(id);
local_id = ONLP_OID_ID_GET(id);
*info = linfo[local_id];
if (LOCAL_DEBUG)
printf("\n[Debug][%s][%d][local_id: %d]", __FUNCTION__, __LINE__, local_id);
switch (local_id)
{
case FAN_1_ON_PSU1:
case FAN_1_ON_PSU2:
rc = _onlp_fani_info_get_fan_on_psu(local_id, info);
rc = _onlp_fani_info_get_fan_on_psu(local_id, info);
break;
default:
rc =_onlp_fani_info_get_fan(local_id, info);
rc =_onlp_fani_info_get_fan(local_id, info);
break;
}
}
return rc;
}
@@ -349,20 +349,20 @@ onlp_fani_rpm_set(onlp_oid_t id, int rpm)
*/
int
onlp_fani_percentage_set(onlp_oid_t id, int p)
{
{
int fd, len, nbytes=10, local_id;
char data[10] = {0};
char fullpath[70] = {0};
char data[10] = {0};
char fullpath[70] = {0};
VALIDATE(id);
local_id = ONLP_OID_ID_GET(id);
/* reject p=0 (p=0, stop fan) */
if (p == 0){
return ONLP_STATUS_E_INVALID;
}
/* get fullpath */
switch (local_id)
{
@@ -380,7 +380,7 @@ onlp_fani_percentage_set(onlp_oid_t id, int p)
return psu_ym2401_pmbus_info_set(psu_id, "psu_fan1_duty_cycle_percentage", p);
}
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].ctrl_speed);
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_PSU, last_path[local_id].ctrl_speed);
break;
}
@@ -388,64 +388,24 @@ onlp_fani_percentage_set(onlp_oid_t id, int p)
sprintf(fullpath, "%s%s", PREFIX_PATH_ON_MAIN_BOARD, last_path[local_id].ctrl_speed);
break;
}
sprintf(data, "%d", p);
if (LOCAL_DEBUG)
printf("[Debug][%s][%d][openfile: %s][data=%s]\n", __FUNCTION__, __LINE__, fullpath, data);
/* Create output file descriptor */
fd = open(fullpath, O_WRONLY, 0644);
if(fd == -1){
return ONLP_STATUS_E_INTERNAL;
return ONLP_STATUS_E_INTERNAL;
}
len = write (fd, data, (ssize_t) nbytes);
if(len != nbytes){
close(fd);
return ONLP_STATUS_E_INTERNAL;
}
close(fd);
return ONLP_STATUS_E_INTERNAL;
}
close(fd);
return ONLP_STATUS_OK;
}
/*
* This function sets the fan speed of the given OID as per
* the predefined ONLP fan speed modes: off, slow, normal, fast, max.
*
* Interpretation of these modes is up to the platform.
*
*/
int
onlp_fani_mode_set(onlp_oid_t id, onlp_fan_mode_t mode)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
/*
* This function sets the fan direction of the given OID.
*
* This function is only relevant if the fan OID supports both direction
* capabilities.
*
* This function is optional unless the functionality is available.
*/
int
onlp_fani_dir_set(onlp_oid_t id, onlp_fan_dir_t dir)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
/*
* Generic fan ioctl. Optional.
*/
int
onlp_fani_ioctl(onlp_oid_t id, va_list vargs)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -50,20 +50,20 @@ enum led_light_mode { /*must be the same with the definition @ kernel driver */
LED_MODE_GREEN_BLINK,
LED_MODE_AMBER_BLINK,
LED_MODE_RED_BLINK,
LED_MODE_AUTO,
LED_MODE_AUTO,
};
int led_light_map_mode[][2] =
{
{LED_MODE_OFF, ONLP_LED_MODE_OFF},
{LED_MODE_OFF, ONLP_LED_MODE_OFF},
{LED_MODE_GREEN, ONLP_LED_MODE_GREEN},
{LED_MODE_AMBER, ONLP_LED_MODE_ORANGE},
{LED_MODE_RED, ONLP_LED_MODE_RED},
{LED_MODE_RED, ONLP_LED_MODE_RED},
{LED_MODE_GREEN_BLINK, ONLP_LED_MODE_GREEN_BLINKING},
{LED_MODE_AMBER_BLINK, ONLP_LED_MODE_ORANGE_BLINKING},
{LED_MODE_RED_BLINK, ONLP_LED_MODE_RED_BLINKING},
{LED_MODE_AUTO, ONLP_LED_MODE_AUTO},
};
{LED_MODE_AUTO, ONLP_LED_MODE_AUTO},
};
#define prefix_path "/sys/class/leds/accton_as5712_54x_led::"
@@ -81,7 +81,7 @@ enum onlp_led_id
LED_FAN2,
LED_FAN3,
LED_FAN4,
LED_FAN5,
LED_FAN5,
};
static char last_path[][10] = /* must map with onlp_led_id */
@@ -96,7 +96,7 @@ static char last_path[][10] = /* must map with onlp_led_id */
"fan2",
"fan3",
"fan4",
"fan5",
"fan5",
};
/*
@@ -105,51 +105,21 @@ static char last_path[][10] = /* must map with onlp_led_id */
static onlp_led_info_t linfo[] =
{
{ }, /* Not used */
{
{ ONLP_LED_ID_CREATE(LED_DIAG), "Chassis LED 1 (DIAG LED)", 0 },
ONLP_LED_STATUS_PRESENT,
ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN), "Chassis LED 2 (FAN LED)", 0 },
ONLP_LED_STATUS_PRESENT,
ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO,
},
{
{ ONLP_LED_ID_CREATE(LED_LOC), "Chassis LED 3 (LOC LED)", 0 },
ONLP_LED_STATUS_PRESENT,
ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_ORANGE_BLINKING,
},
{
{ ONLP_LED_ID_CREATE(LED_PSU1), "Chassis LED 4 (PSU1 LED)", 0 },
ONLP_LED_STATUS_PRESENT,
ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO,
},
{
{ ONLP_LED_ID_CREATE(LED_PSU2), "Chassis LED 5 (PSU2 LED)", 0 },
ONLP_LED_STATUS_PRESENT,
ONLP_LED_CAPS_ON_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN1), "Chassis LED 6 (FAN1 LED)", 0 },
ONLP_LED_STATUS_PRESENT, 0,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN2), "Chassis LED 7 (FAN2 LED)", 0 },
ONLP_LED_STATUS_PRESENT, 0,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN3), "Chassis LED 8 (FAN3 LED)", 0 },
ONLP_LED_STATUS_PRESENT, 0,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN4), "Chassis LED 9 (FAN4 LED)", 0 },
ONLP_LED_STATUS_PRESENT, 0,
},
{
{ ONLP_LED_ID_CREATE(LED_FAN5), "Chassis LED 10 (FAN5 LED)", 0 },
ONLP_LED_STATUS_PRESENT, 0,
},
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_DIAG, "Chassis LED 1 (DIAG LED)",
ONLP_LED_CAPS_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN, "Chassis LED 2 (FAN LED)",
ONLP_LED_CAPS_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_LOC, "Chassis LED 3 (LOC LED)",
ONLP_LED_CAPS_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_ORANGE_BLINKING),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_PSU1, "Chassis LED 4 (PSU1 LED)",
ONLP_LED_CAPS_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_PSU2, "Chassis LED 5 (PSU2 LED)",
ONLP_LED_CAPS_OFF | ONLP_LED_CAPS_ORANGE | ONLP_LED_CAPS_GREEN | ONLP_LED_CAPS_AUTO),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN1, "Chassis LED 6 (FAN1 LED)", 0),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN2, "Chassis LED 7 (FAN2 LED)", 0),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN3, "Chassis LED 8 (FAN3 LED)", 0),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN4, "Chassis LED 9 (FAN4 LED)", 0),
ONLP_CHASSIS_LED_INFO_ENTRY_INIT(LED_FAN5, "Chassis LED 10 (FAN5 LED)", 0),
};
@@ -160,7 +130,7 @@ static int conver_led_light_mode_to_onl(int led_ligth_mode)
{
if (led_ligth_mode == led_light_map_mode[i][0])
{
return led_light_map_mode[i][1];
return led_light_map_mode[i][1];
}
}
return 0;
@@ -174,7 +144,7 @@ static int conver_led_light_mode_to_driver(int led_ligth_mode)
{
if (led_ligth_mode == led_light_map_mode[i][1])
{
return led_light_map_mode[i][0];
return led_light_map_mode[i][0];
}
}
return 0;
@@ -184,7 +154,7 @@ static int conver_led_light_mode_to_driver(int led_ligth_mode)
* This function will be called prior to any other onlp_ledi_* functions.
*/
int
onlp_ledi_init(void)
onlp_ledi_hw_init(uint32_t flags)
{
/*
* Turn off the LOCATION and DIAG LEDs at startup
@@ -201,73 +171,47 @@ onlp_ledi_info_get(onlp_oid_t id, onlp_led_info_t* info)
int fd, len, nbytes=1, local_id;
char data[2] = {0};
char fullpath[50] = {0};
VALIDATE(id);
local_id = ONLP_OID_ID_GET(id);
/* get fullpath */
if (strchr(last_path[local_id], '/') != NULL)
{
sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]);
sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]);
}
else
{
sprintf(fullpath, "%s%s/%s", prefix_path, last_path[local_id], filename);
sprintf(fullpath, "%s%s/%s", prefix_path, last_path[local_id], filename);
}
/* Set the onlp_oid_hdr_t and capabilities */
/* Set the onlp_oid_hdr_t and capabilities */
*info = linfo[ONLP_OID_ID_GET(id)];
/* Set current mode */
if ((fd = open(fullpath, O_RDONLY)) == -1)
{
{
return ONLP_STATUS_E_INTERNAL;
}
if ((len = read(fd, data, nbytes)) <= 0)
{
close(fd);
close(fd);
return ONLP_STATUS_E_INTERNAL;
}
/* If the read byte count is less, the format is different and calc will be wrong*/
if (close(fd) == -1)
{
{
return ONLP_STATUS_E_INTERNAL;
}
info->mode = conver_led_light_mode_to_onl(atoi(data));
/* Set the on/off status */
if (info->mode != ONLP_LED_MODE_OFF) {
info->status |= ONLP_LED_STATUS_ON;
}
return ONLP_STATUS_OK;
}
/*
* Turn an LED on or off.
*
* This function will only be called if the LED OID supports the ONOFF
* capability.
*
* What 'on' means in terms of colors or modes for multimode LEDs is
* up to the platform to decide. This is intended as baseline toggle mechanism.
*/
int
onlp_ledi_set(onlp_oid_t id, int on_or_off)
{
VALIDATE(id);
if (!on_or_off) {
return onlp_ledi_mode_set(id, ONLP_LED_MODE_OFF);
}
return ONLP_STATUS_E_UNSUPPORTED;
}
/*
* This function puts the LED into the given mode. It is a more functional
* interface for multimode LEDs.
@@ -278,48 +222,38 @@ int
onlp_ledi_mode_set(onlp_oid_t id, onlp_led_mode_t mode)
{
int fd, len, driver_mode, nbytes=1, local_id;
char data[2] = {0};
char fullpath[50] = {0};
char data[2] = {0};
char fullpath[50] = {0};
VALIDATE(id);
local_id = ONLP_OID_ID_GET(id);
/* get fullpath */
if (strchr(last_path[local_id], '/') != NULL)
{
sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]);
sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]);
}
else
{
sprintf(fullpath, "%s%s/%s", prefix_path, last_path[local_id], filename);
sprintf(fullpath, "%s%s/%s", prefix_path, last_path[local_id], filename);
}
driver_mode = conver_led_light_mode_to_driver(mode);
sprintf(data, "%d", driver_mode);
/* Create output file descriptor */
fd = open(fullpath, O_WRONLY, 0644);
if(fd == -1){
return ONLP_STATUS_E_INTERNAL;
return ONLP_STATUS_E_INTERNAL;
}
len = write (fd, data, (ssize_t) nbytes);
if(len != nbytes){
close(fd);
return ONLP_STATUS_E_INTERNAL;
}
close(fd);
return ONLP_STATUS_E_INTERNAL;
}
close(fd);
return ONLP_STATUS_OK;
}
/*
* Generic LED ioctl interface.
*/
int
onlp_ledi_ioctl(onlp_oid_t id, va_list vargs)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5712-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -41,13 +41,13 @@
} \
} while(0)
static int
static int
psu_status_info_get(int id, int is_ac, char *node, int *value)
{
int ret = 0;
char buf[PSU_NODE_MAX_INT_LEN + 1] = {0};
char node_path[PSU_NODE_MAX_PATH_LEN] = {0};
*value = 0;
if (PSU1_ID == id) {
@@ -66,13 +66,13 @@ psu_status_info_get(int id, int is_ac, char *node, int *value)
return ret;
}
static int
static int
psu_cpr_4011_pmbus_info_get(int id, char *node, int *value)
{
int ret = 0;
char buf[PSU_NODE_MAX_INT_LEN + 1] = {0};
char node_path[PSU_NODE_MAX_PATH_LEN] = {0};
*value = 0;
if (PSU1_ID == id) {
@@ -91,25 +91,19 @@ psu_cpr_4011_pmbus_info_get(int id, char *node, int *value)
return ret;
}
int
onlp_psui_init(void)
{
return ONLP_STATUS_OK;
}
static int
psu_cpr_4011_info_get(onlp_psu_info_t* info)
{
int val = 0;
int index = ONLP_OID_ID_GET(info->hdr.id);
/* Set capability
*/
info->caps = ONLP_PSU_CAPS_AC;
if (info->status & ONLP_PSU_STATUS_FAILED) {
return ONLP_STATUS_OK;
}
info->type = ONLP_PSU_TYPE_AC;
if (ONLP_OID_FAILED(info)) {
return ONLP_STATUS_OK;
}
/* Set the associated oid_table */
info->hdr.coids[0] = ONLP_FAN_ID_CREATE(index + CHASSIS_FAN_COUNT);
@@ -118,33 +112,33 @@ psu_cpr_4011_info_get(onlp_psu_info_t* info)
/* Read voltage, current and power */
if (psu_cpr_4011_pmbus_info_get(index, "psu_v_out", &val) == 0) {
info->mvout = val;
info->caps |= ONLP_PSU_CAPS_VOUT;
info->caps |= ONLP_PSU_CAPS_GET_VOUT;
}
if (psu_cpr_4011_pmbus_info_get(index, "psu_v_in", &val) == 0) {
info->mvin = val;
info->caps |= ONLP_PSU_CAPS_VIN;
info->caps |= ONLP_PSU_CAPS_GET_VIN;
}
if (psu_cpr_4011_pmbus_info_get(index, "psu_i_out", &val) == 0) {
info->miout = val;
info->caps |= ONLP_PSU_CAPS_IOUT;
info->caps |= ONLP_PSU_CAPS_GET_IOUT;
}
if (psu_cpr_4011_pmbus_info_get(index, "psu_i_in", &val) == 0) {
info->miin = val;
info->caps |= ONLP_PSU_CAPS_IIN;
info->caps |= ONLP_PSU_CAPS_GET_IIN;
}
if (psu_cpr_4011_pmbus_info_get(index, "psu_p_out", &val) == 0) {
info->mpout = val;
info->caps |= ONLP_PSU_CAPS_POUT;
}
info->caps |= ONLP_PSU_CAPS_GET_POUT;
}
if (psu_cpr_4011_pmbus_info_get(index, "psu_p_in", &val) == 0) {
info->mpin = val;
info->caps |= ONLP_PSU_CAPS_PIN;
}
info->caps |= ONLP_PSU_CAPS_GET_PIN;
}
return ONLP_STATUS_OK;
}
@@ -156,9 +150,9 @@ psu_um400d_info_get(onlp_psu_info_t* info)
/* Set capability
*/
info->caps = ONLP_PSU_CAPS_DC48;
info->type = ONLP_PSU_TYPE_DC48;
if (info->status & ONLP_PSU_STATUS_FAILED) {
if (ONLP_OID_FAILED(info)) {
return ONLP_STATUS_OK;
}
@@ -173,12 +167,12 @@ psu_ym2401_info_get(onlp_psu_info_t* info)
{
int val = 0;
int index = ONLP_OID_ID_GET(info->hdr.id);
/* Set capability
*/
info->caps = ONLP_PSU_CAPS_AC;
if (info->status & ONLP_PSU_STATUS_FAILED) {
info->type = ONLP_PSU_TYPE_AC;
if (ONLP_OID_FAILED(info)) {
return ONLP_STATUS_OK;
}
@@ -189,18 +183,18 @@ psu_ym2401_info_get(onlp_psu_info_t* info)
/* Read voltage, current and power */
if (psu_ym2401_pmbus_info_get(index, "psu_v_out", &val) == 0) {
info->mvout = val;
info->caps |= ONLP_PSU_CAPS_VOUT;
info->caps |= ONLP_PSU_CAPS_GET_VOUT;
}
if (psu_ym2401_pmbus_info_get(index, "psu_i_out", &val) == 0) {
info->miout = val;
info->caps |= ONLP_PSU_CAPS_IOUT;
info->caps |= ONLP_PSU_CAPS_GET_IOUT;
}
if (psu_ym2401_pmbus_info_get(index, "psu_p_out", &val) == 0) {
info->mpout = val;
info->caps |= ONLP_PSU_CAPS_POUT;
}
info->caps |= ONLP_PSU_CAPS_GET_POUT;
}
return ONLP_STATUS_OK;
}
@@ -211,12 +205,8 @@ psu_ym2401_info_get(onlp_psu_info_t* info)
static onlp_psu_info_t pinfo[] =
{
{ }, /* Not used */
{
{ ONLP_PSU_ID_CREATE(PSU1_ID), "PSU-1", 0 },
},
{
{ ONLP_PSU_ID_CREATE(PSU2_ID), "PSU-2", 0 },
}
ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(PSU1_ID, "PSU-1"),
ONLP_CHASSIS_PSU_INFO_ENTRY_INIT(PSU2_ID, "PSU-2"),
};
int
@@ -225,7 +215,7 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info)
int val = 0;
int ret = ONLP_STATUS_OK;
int index = ONLP_OID_ID_GET(id);
psu_type_t psu_type;
psu_type_t psu_type;
VALIDATE(id);
@@ -238,11 +228,11 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info)
}
if (val != PSU_STATUS_PRESENT) {
info->status &= ~ONLP_PSU_STATUS_PRESENT;
ONLP_OID_STATUS_FLAG_CLR(info, PRESENT);
return ONLP_STATUS_OK;
}
info->status |= ONLP_PSU_STATUS_PRESENT;
ONLP_OID_STATUS_FLAG_SET(info, PRESENT);
/* Get power good status */
if (psu_status_info_get(index, 1, "psu_power_good", &val) != 0) {
@@ -250,7 +240,7 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info)
}
if (val != PSU_STATUS_POWER_GOOD) {
info->status |= ONLP_PSU_STATUS_FAILED;
ONLP_OID_STATUS_FLAG_SET(info, FAILED);
return 0;
}
@@ -279,10 +269,3 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info)
return ret;
}
int
onlp_psui_ioctl(onlp_oid_t pid, va_list vargs)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -67,18 +67,6 @@ static int front_port_bus_index(int port)
return (rport + CPLD_MUX_BUS_START_INDEX);
}
/************************************************************
*
* SFPI Entry Points
*
***********************************************************/
int
onlp_sfpi_init(void)
{
/* Called at initialization time */
return ONLP_STATUS_OK;
}
int
onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap)
{
@@ -95,7 +83,7 @@ onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap)
}
int
onlp_sfpi_port_map(int port, int* rport)
onlp_sfpi_port_map(onlp_oid_id_t port, int* rport)
{
/*
* The QSFP port numbering on the powerpc-as5712-54x-r0b platform
@@ -152,7 +140,7 @@ onlp_sfpi_port_map(int port, int* rport)
* values directly, however, we need to apply the correct mapping from R0B -> R0.
*/
static void
port_qsfp_cpld_map__(int port, int* rport)
port_qsfp_cpld_map__(onlp_oid_id_t port, int* rport)
{
switch(port)
{
@@ -167,7 +155,7 @@ port_qsfp_cpld_map__(int port, int* rport)
}
int
onlp_sfpi_is_present(int port)
onlp_sfpi_is_present(onlp_oid_id_t port)
{
/*
* Return 1 if present.
@@ -176,7 +164,7 @@ onlp_sfpi_is_present(int port)
*/
int present;
int addr = (port < 24) ? 61 : 62;
if (onlp_file_read_int(&present, MODULE_PRESENT_FORMAT, addr, (port+1)) < 0) {
AIM_LOG_ERROR("Unable to read present status from port(%d)\r\n", port);
return ONLP_STATUS_E_INTERNAL;
@@ -297,7 +285,7 @@ onlp_sfpi_rx_los_bitmap_get(onlp_sfp_bitmap_t* dst)
}
int
onlp_sfpi_eeprom_read(int port, uint8_t data[256])
onlp_sfpi_eeprom_read(onlp_oid_id_t port, uint8_t data[256])
{
/*
* Read the SFP eeprom into data[]
@@ -322,11 +310,11 @@ onlp_sfpi_eeprom_read(int port, uint8_t data[256])
}
int
onlp_sfpi_dom_read(int port, uint8_t data[256])
onlp_sfpi_dom_read(onlp_oid_id_t port, uint8_t data[256])
{
FILE* fp;
char file[64] = {0};
sprintf(file, PORT_EEPROM_FORMAT, front_port_bus_index(port));
fp = fopen(file, "r");
if(fp == NULL) {
@@ -351,35 +339,43 @@ onlp_sfpi_dom_read(int port, uint8_t data[256])
}
int
onlp_sfpi_dev_readb(int port, uint8_t devaddr, uint8_t addr)
onlp_sfpi_dev_read(onlp_oid_id_t port, int devaddr, int addr,
uint8_t* dst, int size)
{
int bus = front_port_bus_index(port);
return onlp_i2c_block_read(bus, devaddr, addr, size, dst, ONLP_I2C_F_FORCE);
}
int
onlp_sfpi_dev_readb(onlp_oid_id_t port, int devaddr, int addr)
{
int bus = front_port_bus_index(port);
return onlp_i2c_readb(bus, devaddr, addr, ONLP_I2C_F_FORCE);
}
int
onlp_sfpi_dev_writeb(int port, uint8_t devaddr, uint8_t addr, uint8_t value)
onlp_sfpi_dev_writeb(onlp_oid_id_t port, int devaddr, int addr, uint8_t value)
{
int bus = front_port_bus_index(port);
return onlp_i2c_writeb(bus, devaddr, addr, value, ONLP_I2C_F_FORCE);
}
int
onlp_sfpi_dev_readw(int port, uint8_t devaddr, uint8_t addr)
onlp_sfpi_dev_readw(onlp_oid_id_t port, int devaddr, int addr)
{
int bus = front_port_bus_index(port);
return onlp_i2c_readw(bus, devaddr, addr, ONLP_I2C_F_FORCE);
}
int
onlp_sfpi_dev_writew(int port, uint8_t devaddr, uint8_t addr, uint16_t value)
onlp_sfpi_dev_writew(onlp_oid_id_t port, int devaddr, int addr, uint16_t value)
{
int bus = front_port_bus_index(port);
return onlp_i2c_writew(bus, devaddr, addr, value, ONLP_I2C_F_FORCE);
}
int
onlp_sfpi_control_set(int port, onlp_sfp_control_t control, int value)
onlp_sfpi_control_set(onlp_oid_id_t port, onlp_sfp_control_t control, int value)
{
int rv;
@@ -412,7 +408,7 @@ onlp_sfpi_control_set(int port, onlp_sfp_control_t control, int value)
}
int
onlp_sfpi_control_get(int port, onlp_sfp_control_t control, int* value)
onlp_sfpi_control_get(onlp_oid_id_t port, onlp_sfp_control_t control, int* value)
{
int rv;
@@ -466,10 +462,3 @@ onlp_sfpi_control_get(int port, onlp_sfp_control_t control, int* value)
return rv;
}
int
onlp_sfpi_denit(void)
{
return ONLP_STATUS_OK;
}

View File

@@ -23,6 +23,8 @@
*
*
***********************************************************/
#if 0
#include <onlp/platformi/sysi.h>
#include <onlp/platformi/ledi.h>
#include <onlp/platformi/thermali.h>
@@ -120,7 +122,7 @@ onlp_sysi_oids_get(onlp_oid_t* table, int max)
onlp_oid_t* e = table;
memset(table, 0, max*sizeof(onlp_oid_t));
int i;
/* 2 PSUs */
*e++ = ONLP_PSU_ID_CREATE(1);
*e++ = ONLP_PSU_ID_CREATE(2);
@@ -272,3 +274,4 @@ onlp_sysi_platform_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
#endif

View File

@@ -23,20 +23,9 @@
* Thermal Sensor Platform Implementation.
*
***********************************************************/
#include <unistd.h>
#include <onlplib/file.h>
#include <onlp/platformi/thermali.h>
#include <onlp/platformi/base.h>
#include "platform_lib.h"
#define VALIDATE(_id) \
do { \
if(!ONLP_OID_IS_THERMAL(_id)) { \
return ONLP_STATUS_E_INVALID; \
} \
} while(0)
enum onlp_thermal_id {
THERMAL_RESERVED = 0,
THERMAL_CPU_CORE,
@@ -66,84 +55,48 @@ static char* cpu_coretemp_files[] =
NULL,
};
/* Static values */
static onlp_thermal_info_t linfo[] = {
{ }, /* Not used */
{ { ONLP_THERMAL_ID_CREATE(THERMAL_CPU_CORE), "CPU Core", 0},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
},
{ { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_MAIN_BROAD), "Chassis Thermal Sensor 1 (Front middle)", 0},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
},
{ { ONLP_THERMAL_ID_CREATE(THERMAL_2_ON_MAIN_BROAD), "Chassis Thermal Sensor 2 (Rear right)", 0},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
},
{ { ONLP_THERMAL_ID_CREATE(THERMAL_3_ON_MAIN_BROAD), "Chassis Thermal Sensor 3 (Front right)", 0},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
},
{ { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_PSU1), "PSU-1 Thermal Sensor 1", ONLP_PSU_ID_CREATE(1)},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
},
{ { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_PSU2), "PSU-2 Thermal Sensor 1", ONLP_PSU_ID_CREATE(2)},
ONLP_THERMAL_STATUS_PRESENT,
ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS
}
static onlp_thermal_info_t thermal_info_table__[] = {
{ }, /* Not used */
ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(THERMAL_CPU_CORE, "CPU Core"),
ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(THERMAL_1_ON_MAIN_BROAD, "Chassis Thermal Sensor 1 (Front middle)"),
ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(THERMAL_2_ON_MAIN_BROAD, "Chassis Thermal Sensor 2 (Rear right)"),
ONLP_CHASSIS_THERMAL_INFO_ENTRY_INIT(THERMAL_3_ON_MAIN_BROAD, "Chassis Thermal Sensor 3 (Front right)"),
ONLP_PSU_THERMAL_INFO_ENTRY_INIT(THERMAL_1_ON_PSU1, "PSU-1 Thermal Sensor 1", 1),
ONLP_PSU_THERMAL_INFO_ENTRY_INIT(THERMAL_1_ON_PSU2, "PSU-2 Thermal Sensor 1", 2),
};
/*
* This will be called to intiialize the thermali subsystem.
*/
int
onlp_thermali_init(void)
{
return ONLP_STATUS_OK;
}
/*
* Retrieve the information structure for the given thermal OID.
*
* If the OID is invalid, return ONLP_E_STATUS_INVALID.
* If an unexpected error occurs, return ONLP_E_STATUS_INTERNAL.
* Otherwise, return ONLP_STATUS_OK with the OID's information.
*
* Note -- it is expected that you fill out the information
* structure even if the sensor described by the OID is not present.
*/
int
onlp_thermali_info_get(onlp_oid_t id, onlp_thermal_info_t* info)
{
int local_id;
int psu_id;
psu_type_t psu_type;
VALIDATE(id);
ONLP_OID_INFO_ASSIGN(id, thermal_info_table__, info);
local_id = ONLP_OID_ID_GET(id);
/* Set the onlp_oid_hdr_t and capabilities */
*info = linfo[local_id];
if(local_id == THERMAL_CPU_CORE) {
int rv = onlp_file_read_int_max(&info->mcelsius, cpu_coretemp_files);
return rv;
}
psu_id = local_id - THERMAL_1_ON_PSU1 + 1;
psu_type = get_psu_type(psu_id, NULL, 0);
if (psu_type == PSU_TYPE_AC_3YPOWER_F2B || psu_type == PSU_TYPE_AC_3YPOWER_B2F ) {
int rv = psu_ym2401_pmbus_info_get(psu_id, "psu_temp1_input", &info->mcelsius);
return rv;
}
return onlp_file_read_int(&info->mcelsius, devfiles[local_id]);
switch(ONLP_OID_TYPE_GET(info->hdr.poid))
{
case ONLP_OID_TYPE_CHASSIS:
{
if(id == THERMAL_CPU_CORE) {
return onlp_file_read_int_max(&info->mcelsius, cpu_coretemp_files);
}
else {
return onlp_file_read_int(&info->mcelsius, devfiles[id]);
}
break;
}
case ONLP_OID_TYPE_PSU:
{
psu_id = ONLP_OID_ID_GET(info->hdr.poid);
psu_type = get_psu_type(psu_id, NULL, 0);
if (psu_type == PSU_TYPE_AC_3YPOWER_F2B || psu_type == PSU_TYPE_AC_3YPOWER_B2F ) {
int rv = psu_ym2401_pmbus_info_get(psu_id, "psu_temp1_input", &info->mcelsius);
return rv;
}
break;
}
default:
break;
}
return ONLP_STATUS_E_PARAM;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5812-54t-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5812-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5822-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5912-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5912-54xk-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5916-26xb-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5916-54x-r1";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5916-54xk-r1";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5916-54xks-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as5916-54xm-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as6712-32x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as6812-32x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7312-54x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7312-54xs-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7326-56x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7512-32x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,42 @@
#include <onlp/platformi/chassisi.h>
#include "platform_lib.h"
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
/* 4 Thermal sensors on the chassis */
for (i = 1; i <= NUM_OF_THERMAL_ON_MAIN_BOARD; i++)
{
*e++ = ONLP_THERMAL_ID_CREATE(i);
}
/* 5 LEDs on the chassis */
for (i = 1; i <= NUM_OF_LED_ON_MAIN_BOARD; i++)
{
*e++ = ONLP_LED_ID_CREATE(i);
}
/* 2 PSUs on the chassis */
for (i = 1; i <= NUM_OF_PSU_ON_MAIN_BOARD; i++)
{
*e++ = ONLP_PSU_ID_CREATE(i);
}
/* 4 Fans on the chassis */
for (i = 1; i <= NUM_OF_FAN_ON_MAIN_BOARD; i++)
{
*e++ = ONLP_FAN_ID_CREATE(i);
}
/* 32 SFPs */
for(i = 1; i <= 32; i++) {
*e++ = ONLP_SFP_ID_CREATE(i);
}
return 0;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7716-32x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/base.h>
const char*
onlp_platformi_get(void)
{
return "x86-64-accton-as7726-32x-r0";
}
int
onlp_platformi_sw_init(void)
{
return ONLP_STATUS_OK;
}
int
onlp_platformi_manage_fans(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_platformi_manage_leds(void)
{
return ONLP_STATUS_E_UNSUPPORTED;
}

View File

@@ -0,0 +1,26 @@
#include <onlp/platformi/attributei.h>
#include <onlp/stdattrs.h>
#include <onlplib/file.h>
int
onlp_attributei_onie_info_get(onlp_oid_t oid, onlp_onie_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
//return onlp_onie_decode_file(rp, IDPROM_PATH);
return ONLP_STATUS_E_UNSUPPORTED;
}
int
onlp_attributei_asset_info_get(onlp_oid_t oid, onlp_asset_info_t* rp)
{
if(oid != ONLP_OID_CHASSIS) {
return ONLP_STATUS_E_UNSUPPORTED;
}
rp->oid = oid;
rp->firmware_revision = "fixme";
return ONLP_STATUS_OK;
}

View File

@@ -0,0 +1,11 @@
#include <onlp/platformi/chassisi.h>
int
onlp_chassisi_hdr_get(onlp_oid_id_t id, onlp_oid_hdr_t* hdr)
{
int i;
onlp_oid_t* e = hdr->coids;
ONLP_OID_STATUS_FLAG_SET(hdr, PRESENT);
ONLP_OID_STATUS_FLAG_SET(hdr, OPERATIONAL);
}

Some files were not shown because too many files have changed in this diff Show More