Most of these pieces had partially landed earlier and I've been talking about them for a while, but only as of this weekend two major parts of Open Network Linux have finally come together in a more useful state. For folks who are interested, please take a look and send feedback to the list (or even patches!).
Both of these changes are available as of the 207fb9e0f8936dc73bb996ed6a532d5eebcf1d8c commits, so the website has been updated and the
http://opennetlinux.org/binaries/latest.installer link has been updated. Now that these have landed, I'm considering doing the first ONL release -- feedback welcome!
So, getting into the details:
1) run orc, e.g. as root, run `orc --daemon`
2) ORC creates virtual linux interfaces (orcXX) for each physical port on the switch
3) you add IP addresses and routes to those interfaces
`ifconfig orc03 192.168.0.1 netmask 255.255.255.0`
`route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2`
4) ORC then copies the relevant state into the hardware ASIC tables which enables hardware routing (exact number of routes and bandwidth vary by switch)
5) In theory, instead of manually adding routes, you could run one of many open source routing stacks (e.g., Quagga, Xorp, Bird, etc.), turning ONL into a modestly functional router.
As a caveat, the code quality is highly suspect (consider this a prototype not to be deployed in production) and is missing many useful features (no IPv6, no multicast, no ECMP).
Second, I've committed the code, packing, and tools to better leverage the ONL Platform (ONLP) libraries. This is the platform-independent API to query the fans, SFPs, temperature sensors, power supplies, etc. etc. on the box (see API calls at
https://github.com/opennetworklinux/ONLP/tree/master/modules/onlp/module/inc/onlp). Probably the easiest way to understand what this is is via new onlpdump command (output at end of mail).
Probably this email is totally insufficient to cover ORC and ONLP, but better documentation, functionality, and usability are on their way.
- Rob
.
root@onl-powerpc:~# onlpdump -r
Fan 1
Description: Right
State: Present
Status: Running.
RPM: 13881.
Speed: 95%.
Airflow: Front-to-Back.
Fan 2
Description: Center Right
State: Present
Status: Running.
RPM: 13533.
Speed: 93%.
Airflow: Front-to-Back.
Fan 3
Description: Center Left
State: Present
Status: Running.
RPM: 13636.
Speed: 94%.
Airflow: Front-to-Back.
Fan 4
Description: Left
State: Present
Status: Running.
RPM: 13775.
Speed: 95%.
Airflow: Front-to-Back.
Thermal 1
Description: Chassis Thermal 1
Status: Sensor Functional
Temperature: 31.0 C.
Thermal 2
Description: Chassis Thermal 2
Status: Sensor Functional
Temperature: 31.0 C.
Thermal 3
Description: Chassis Thermal 3
Status: Sensor Functional
Temperature: 29.0 C.
Thermal 4
Description: Chassis Thermal 4
Status: Sensor Functional
Temperature: 29.0 C.
Thermal 5
Description: Chassis Thermal 5
Status: Sensor Functional
Temperature: 31.0 C.
PSU 1
Description: PSU-1
State: Missing
PSU 2
Description: PSU-2
State: Present
Status: Running.
Model: PSU-LB9
Type: AC
Vin: 217.5
Vout: 12.5
Iin: 0.4
Iout: 4.7
Pin: 75.0
Pout: 58.0
Fan 6
Description: PSU-2 Fan
State: Present
Status: Running.
RPM: 1792.
Airflow: Front-to-Back.
Thermal 9
Description: PSU-2 Thermal 1
Status: Sensor Functional
Temperature: 29.0 C.
Thermal 10
Description: PSU-2 Thermal 2
Status: Sensor Functional
Temperature: 29.0 C.
Thermal 11
Description: PSU-2 Thermal 3
Status: Sensor Functional
Temperature: 30.0 C.