146 Commits

Author SHA1 Message Date
Jeffrey Townsend
d896122156 onlp_attribute_{onie,asset}_info_get() must be locked. 2019-06-12 18:02:15 +00:00
Jeffrey Townsend
e38a49b181 Regenerated. 2019-05-29 16:23:51 +00:00
Jeffrey Townsend
b2bd3c635b Doxygen updates. 2019-03-28 19:41:18 +00:00
Jeffrey Townsend
8aca252c82 Add missing onlp_attribute_sw_denit(). 2019-03-28 17:32:42 +00:00
Jeffrey Townsend
52e1289e23 Don't set threshold caps by default. 2019-01-14 19:31:35 -08:00
Jeffrey Townsend
7dae386010 debugi has been removed. 2019-01-13 19:38:56 +00:00
Jeffrey Townsend
03b7bdc79b Superceded by that platformi interface. 2019-01-13 19:36:34 +00:00
Jeffrey Townsend
2681a84546 Add optional id validators. 2019-01-13 19:33:20 +00:00
Jeffrey Townsend
210cb09166 Add optional OID id validators.
You can pre-validate your OID ids prior to any other calls to your module.
If onlp_<type>_id_validate() returns ONLP_STATUS_OK then the ID will be passed to your implementation.
If onlp_<type>_id_validate() returns ONLP_STATUS_E_INVALID then it will not be passed to your implementation.

The goal here is to avoid all of the boilerplate ID bounds checking in all of the platform implemenations
that use static OID info arrays. Instead of validating in each function you should provide a single
onlp_<type>_id_validate() and assume the ID is valid in all other functions.

The default implementation returns ONLP_STATUS_OK for backwards compatibility.
2019-01-13 18:53:15 +00:00
Jeffrey Townsend
f9d9c0ec4e Add ONLP_FAN_LED_INFO_ENTRY_INIT. 2019-01-13 18:52:18 +00:00
Jeffrey Townsend
774f8c7b4c Initial 2019-01-13 18:51:33 +00:00
Jeffrey Townsend
8d4df32b62 More helper macros. 2019-01-13 18:51:14 +00:00
Jeffrey Townsend
2d29c48c08 Add a version of read_str which reads to a buffer instead of returning a new one. 2019-01-13 18:50:37 +00:00
Jeffrey Townsend
946a8eef18 Various API fixups and enhancements. 2019-01-12 21:53:46 +00:00
Jeffrey Townsend
ee369713dc Old vector cleanup. 2019-01-09 04:14:42 +00:00
Jeffrey Townsend
78cb3b4e63 Dox updates. 2019-01-09 04:06:50 +00:00
Jeffrey Townsend
51eef5e2a6 Fix generic and module stubs. 2019-01-09 03:02:21 +00:00
Jeffrey Townsend
92d1fbbbaf Fix name. 2019-01-09 03:01:42 +00:00
Jeffrey Townsend
981df8f026 Add missing validators. 2019-01-09 03:01:22 +00:00
Jeffrey Townsend
5c34ee5fbb Provide default implementation of onlp_chasssis_info_get(). 2019-01-09 01:40:21 +00:00
Jeffrey Townsend
df0d1bd6b5 Merge branch 'ONLPv2' of github.com:opencomputeproject/OpenNetworkLinux into ONLPv2
Conflicts:
	packages/base/any/onlp/src/onlp/doc/html/annotated.html
	packages/base/any/onlp/src/onlp/doc/html/attribute_8h.html
	packages/base/any/onlp/src/onlp/doc/html/attribute_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/attributei_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/base_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/chassis_8h.html
	packages/base/any/onlp/src/onlp/doc/html/chassis_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/chassisi_8h.html
	packages/base/any/onlp/src/onlp/doc/html/chassisi_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/classes.html
	packages/base/any/onlp/src/onlp/doc/html/debug_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/debugi_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/dir_72adef417dcbc5bf8193445c31305165.html
	packages/base/any/onlp/src/onlp/doc/html/dir_9b91cb305f6dfd5edb8153d5019adc55.html
	packages/base/any/onlp/src/onlp/doc/html/dir_a7b0466279106ea0b8f86f609f621680.html
	packages/base/any/onlp/src/onlp/doc/html/dir_ad96458042bbdd0196ba054c40055169.html
	packages/base/any/onlp/src/onlp/doc/html/fan_8h.html
	packages/base/any/onlp/src/onlp/doc/html/fan_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/fani_8h.html
	packages/base/any/onlp/src/onlp/doc/html/fani_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/files.html
	packages/base/any/onlp/src/onlp/doc/html/functions.html
	packages/base/any/onlp/src/onlp/doc/html/functions_vars.html
	packages/base/any/onlp/src/onlp/doc/html/generic_8h.html
	packages/base/any/onlp/src/onlp/doc/html/generic_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/globals.html
	packages/base/any/onlp/src/onlp/doc/html/globals_defs.html
	packages/base/any/onlp/src/onlp/doc/html/globals_enum.html
	packages/base/any/onlp/src/onlp/doc/html/globals_func.html
	packages/base/any/onlp/src/onlp/doc/html/globals_type.html
	packages/base/any/onlp/src/onlp/doc/html/globals_vars.html
	packages/base/any/onlp/src/onlp/doc/html/group__assets.html
	packages/base/any/onlp/src/onlp/doc/html/group__attributes.html
	packages/base/any/onlp/src/onlp/doc/html/group__chassisi.html
	packages/base/any/onlp/src/onlp/doc/html/group__fani.html
	packages/base/any/onlp/src/onlp/doc/html/group__module-interfaces.html
	packages/base/any/onlp/src/onlp/doc/html/group__modulei.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-chassis.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-fan.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-generic.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-interfaces.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-led.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-module.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-psu.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-sfp.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-thermal.html
	packages/base/any/onlp/src/onlp/doc/html/group__oid-types.html
	packages/base/any/onlp/src/onlp/doc/html/group__onie.html
	packages/base/any/onlp/src/onlp/doc/html/group__onlp-appication.html
	packages/base/any/onlp/src/onlp/doc/html/group__onlp-config.html
	packages/base/any/onlp/src/onlp/doc/html/group__onlp-main.html
	packages/base/any/onlp/src/onlp/doc/html/group__onlp-platform.html
	packages/base/any/onlp/src/onlp/doc/html/group__onlp-porting.html
	packages/base/any/onlp/src/onlp/doc/html/group__platform.html
	packages/base/any/onlp/src/onlp/doc/html/group__psui.html
	packages/base/any/onlp/src/onlp/doc/html/group__sfpi.html
	packages/base/any/onlp/src/onlp/doc/html/group__stdattrs.html
	packages/base/any/onlp/src/onlp/doc/html/group__system-interfaces.html
	packages/base/any/onlp/src/onlp/doc/html/group__thermali.html
	packages/base/any/onlp/src/onlp/doc/html/index.html
	packages/base/any/onlp/src/onlp/doc/html/led_8h.html
	packages/base/any/onlp/src/onlp/doc/html/led_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/ledi_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/module_8h.html
	packages/base/any/onlp/src/onlp/doc/html/module_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/modules.html
	packages/base/any/onlp/src/onlp/doc/html/oids_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/onlp_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h.html
	packages/base/any/onlp/src/onlp/doc/html/onlp__config_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/onlp__dox_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h.html
	packages/base/any/onlp/src/onlp/doc/html/onlp__porting_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/platform_8h.html
	packages/base/any/onlp/src/onlp/doc/html/platform_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/platformi_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/psu_8h.html
	packages/base/any/onlp/src/onlp/doc/html/psu_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/psui_8h.html
	packages/base/any/onlp/src/onlp/doc/html/psui_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/search/all_10.js
	packages/base/any/onlp/src/onlp/doc/html/search/all_9.js
	packages/base/any/onlp/src/onlp/doc/html/search/all_a.js
	packages/base/any/onlp/src/onlp/doc/html/search/all_c.js
	packages/base/any/onlp/src/onlp/doc/html/search/all_d.js
	packages/base/any/onlp/src/onlp/doc/html/search/all_f.js
	packages/base/any/onlp/src/onlp/doc/html/search/enums_0.js
	packages/base/any/onlp/src/onlp/doc/html/search/files_6.js
	packages/base/any/onlp/src/onlp/doc/html/search/functions_0.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_4.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_5.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_6.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_7.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_8.js
	packages/base/any/onlp/src/onlp/doc/html/search/groups_9.js
	packages/base/any/onlp/src/onlp/doc/html/search/variables_a.js
	packages/base/any/onlp/src/onlp/doc/html/sfp_8h.html
	packages/base/any/onlp/src/onlp/doc/html/sfp_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/sfpi_8h.html
	packages/base/any/onlp/src/onlp/doc/html/sfpi_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h.html
	packages/base/any/onlp/src/onlp/doc/html/stdattrs_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__asset__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__chassis__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__config__settings__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__fan__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__generic__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__led__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__module__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__oid__hdr__s.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__psu__info__t.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__sfp__info__t.html
	packages/base/any/onlp/src/onlp/doc/html/structonlp__thermal__info__s.html
	packages/base/any/onlp/src/onlp/doc/html/thermal_8h.html
	packages/base/any/onlp/src/onlp/doc/html/thermal_8h_source.html
	packages/base/any/onlp/src/onlp/doc/html/thermali_8h.html
	packages/base/any/onlp/src/onlp/doc/html/thermali_8h_source.html
2019-01-08 17:13:29 -08:00
Jeffrey Townsend
5a68f1ff22 Dox updates. 2019-01-08 17:12:59 -08:00
Jeffrey Townsend
e1f9c2b8c5 Regenerate ONLP doxygen. 2018-12-29 08:48:47 -08:00
Jeffrey Townsend
5b583dc380 Doxygen updates. 2018-10-31 13:58:04 -07:00
Jeffrey Townsend
705ed31b1e New ONLPv2 APIs with doxygen. 2018-08-08 00:35:36 +00:00
Jeffrey Townsend
1706289eeb Standard attributes now have dedicated handler functions.
- Add ONIE and Asset get, get_json, free, and show functions.
- Remove the _JSON attribute versions.
2018-07-26 01:34:32 +00:00
Jeffrey Townsend
563b8431c6 New ONLP APIs - WIP. 2018-07-23 16:41:15 +00:00
Jeffrey Townsend
90f72e7d81 Updates to the SFF module. 2018-07-18 19:49:41 +00:00
Jeffrey Townsend
3e3df10346 The SFF code module has been migrated from the ONL repository to the floodlight:bigcode repository.
The core SFF functionality has been migrated into the bigcode repository so it can be used by
applications outside of ONL proper. This change should be transparent.
2018-07-18 17:31:29 +00:00
Zi Zhou
f476d6219b support DELL 4xCU cable with new part number 2018-06-12 14:29:04 -07:00
Zi Zhou
25be727943 support 1G-ZX optic type 2018-06-12 13:02:54 -07:00
Zi Zhou
94b16dbe5e Support 100G SWDM4 optics 2018-06-08 14:40:08 -07:00
Zi Zhou
e27316edeb do not display PSU Model if it does not exist 2018-05-29 18:59:00 -07:00
Zi Zhou
7cbb32b991 support 25G-AOC 2018-05-03 15:49:27 -07:00
Zi Zhou
6495dcc452 support 25G-LR 2018-05-03 12:58:28 -07:00
Jeffrey Townsend
7faad73b4a Enable ASR generation. 2018-04-05 17:32:31 +00:00
Jeffrey Townsend
3b45ae6813 UDS Error Handling
- Don't allow UDS connects() to block.
- Add a 1 second timeout for all UDS read/write operations.
2018-04-03 21:37:22 +00:00
Jeffrey Townsend
be9cdca9d5 Manufecturer field missing from JSON output. 2018-03-29 18:18:27 +00:00
Jeffrey Townsend
3ef3bb3b49 Code Module Cleanup
- Fix autogen definitions for all code modules
- Rerun autogen on all modules
2018-03-08 20:20:50 +00:00
Jeffrey Townsend
ac3aef6597 Remove autogenerated makefiles from git. 2018-03-08 17:56:11 +00:00
Jeffrey Townsend
b43c7aa7e3 Add unit tests for additional 25G CR cables. 2017-11-15 20:48:13 +00:00
Zi Zhou
8c1dbf1d48 SFP28 CR type and length fix 2017-11-15 11:23:48 -08:00
Jeffrey Townsend
f877fd216f Add F4M-QSSFP-C-2-30.
Conflicts:
	packages/base/any/onlp/src/sff/module/src/sff_db.c
2017-10-25 22:39:35 +00:00
Jeffrey Townsend
881f5a0473 Merge pull request #255 from carlroth/roth_onlp
Use Python weakref to streamline C memory management
2017-10-16 14:35:23 -07:00
Carl D. Roth
81320398bc Clean up logging 2017-10-16 14:16:48 -07:00
Jeffrey Townsend
ff333b2d50 The media setting for 1G_BASE_{T,CX} in sff_info_init should be Copper. 2017-10-16 19:40:30 +00:00
Carl D. Roth
fe36fc46f8 Switch bitmap and sys_info to use weakrefs 2017-10-16 11:47:17 -07:00
Carl D. Roth
21e0949a98 Add weakref wrapper for partially-malloc'd struct data 2017-10-16 11:36:31 -07:00
Jeffrey Townsend
a3c3ebb263 Add infrastructure to support unparsable cables by vendor and model number.
Conflicts:
	packages/base/any/onlp/src/sff/module/src/sff.c
	packages/base/any/onlp/src/sff/module/src/sff_db.c
2017-10-15 21:34:05 +00:00
Jeffrey Townsend
c04a9a2604 Handle problems accessing the ONIE eeprom more gracefully. 2017-10-15 20:28:49 +00:00