fboss
fboss copied to clipboard
DARWIN_NETOS: sync platform manager
Description
- Initialize the qsfp ports (1-32) and generate the necessary symlinks.
- Port leds support using scd-leds-darwin.
- Initialize smbus buses
- We have also resolved the issue encountered here https://github.com/facebook/fboss/commit/3281ee8d669dafdd917ebc5d6461fc06621ce3d6 by preloading spidev similar to how the meru systems do it.
Testing
PlatformManagerHwTest 7/8 tests pass. NOTE that the failing test is due to the expectation of blue/amber leds to be present which are not supported on Darwin. Arista will add a special case in the test to account for this.
[ FAILED ] PlatformManagerHwTest.XcvrLedFiles (35479 ms)
[----------] 8 tests from PlatformManagerHwTest (289530 ms total)
[----------] Global test environment tear-down
[==========] 8 tests from 1 test suite ran. (289530 ms total)
[ PASSED ] 7 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] PlatformManagerHwTest.XcvrLedFiles
1 FAILED TEST
PM Init of Xcvrs
Ports on Darwin reflect the expected values through the xcvr driver
# ls /run/devmap/xcvrs/
xcvr_1 xcvr_14 xcvr_19 xcvr_23 xcvr_28 xcvr_32 xcvr_8 xcvr_ctrl_12 xcvr_ctrl_17 xcvr_ctrl_21 xcvr_ctrl_26 xcvr_ctrl_30 xcvr_ctrl_6 xcvr_io_10 xcvr_io_15 xcvr_io_2 xcvr_io_24 xcvr_io_29 xcvr_io_4 xcvr_io_9
xcvr_10 xcvr_15 xcvr_2 xcvr_24 xcvr_29 xcvr_4 xcvr_9 xcvr_ctrl_13 xcvr_ctrl_18 xcvr_ctrl_22 xcvr_ctrl_27 xcvr_ctrl_31 xcvr_ctrl_7 xcvr_io_11 xcvr_io_16 xcvr_io_20 xcvr_io_25 xcvr_io_3 xcvr_io_5
xcvr_11 xcvr_16 xcvr_20 xcvr_25 xcvr_3 xcvr_5 xcvr_ctrl_1 xcvr_ctrl_14 xcvr_ctrl_19 xcvr_ctrl_23 xcvr_ctrl_28 xcvr_ctrl_32 xcvr_ctrl_8 xcvr_io_12 xcvr_io_17 xcvr_io_21 xcvr_io_26 xcvr_io_30 xcvr_io_6
xcvr_12 xcvr_17 xcvr_21 xcvr_26 xcvr_30 xcvr_6 xcvr_ctrl_10 xcvr_ctrl_15 xcvr_ctrl_2 xcvr_ctrl_24 xcvr_ctrl_29 xcvr_ctrl_4 xcvr_ctrl_9 xcvr_io_13 xcvr_io_18 xcvr_io_22 xcvr_io_27 xcvr_io_31 xcvr_io_7
xcvr_13 xcvr_18 xcvr_22 xcvr_27 xcvr_31 xcvr_7 xcvr_ctrl_11 xcvr_ctrl_16 xcvr_ctrl_20 xcvr_ctrl_25 xcvr_ctrl_3 xcvr_ctrl_5 xcvr_io_1 xcvr_io_14 xcvr_io_19 xcvr_io_23 xcvr_io_28 xcvr_io_32 xcvr_io_8
Port 1 is expected to be present
# cat /run/devmap/xcvrs/xcvr_ctrl_1/xcvr_present_1
0 <-- 0 is present
Testing with a non-existing xcvr
# cat /run/devmap/xcvrs/xcvr_ctrl_5/xcvr_present_5
1 <---- 1 is absent
Port Leds
Verified that the green led is on at first, and turning on yellow leds turns off the green led:
E.g. Setting Port 1 LED to yellow # echo 1 > port1_led1\:yellow\:status/brightness