OPX移植指南
1. 初步内容
OPX Base代码被开发为可以移植到各种各样的硬件平台(的形态)。除了SAI和SDI构件之外(含),只有少量的代码是平台特定的(只能支持特定的硬件平台)。大多数的平台特定的功能被定义在配置文件中,这些配置文件在系统初始化时被定位。
交换机抽象接口(SAI)和系统设备接口(SDI)组件包含网络处理单元(NPU)和系统设备专用组件。SAI和SDI实现是设备和/或平台特定的。
网络适应服务(NAS)和平台适配服务(PAS)组件的代码是硬件独立的。将NAS和PAS组件移植到新的平台涉及到为该特定平台创建新的配置和初始化脚本文件。
温度控制(TC)组件的配置(架构上)位于PAS之上的软件层之上——它还需要适应新平台的热特性。有些平台可能不需要温度控制元件——在外部微控制器执行冷却算法的情况下。
所有平台配置文件都存储在opx -platform- config中。对于每个新平台,您必须在opx-platform- config存储库中创建两个目录:
1.1 硬件的依赖设备的配置文件的目录(主要是SAI、SDI、系统启动和关机),如dell /s6000- hw。目录名称遵循约定:VENDOR_NAME /platform_name - hw(dell /s6000- hw)。
1.2 硬件的设备独立的配置文件的目录(NAS、PAS、温度控制),如dell/s6000/etc/ opx。目录名遵循惯例:VENDOR_NAME /PLATFORM_NAME/etc/opx。
2. 平台脚本
这些脚本在平台初始化时间和关机时被调用。脚本可以根据新的平台进行调整,根据开发人员如何决定初始化或关闭给定的硬件平台,这些脚本是可选的。
2.1 平台初始化脚本
平台初始化脚本在启动时执行一次——它必须包含在systemd启动配置中。它可以执行各种任务,如CPLD初始化或SMBus控制器初始化(根据平台)。在opx_platform_init.sh中有平台初始化脚本示例。将平台初始化脚本添加到systemd平台初始化服务中(如opx-platform-init.service)。
2.2 平台关闭脚本