本文用于指导系列化、伙伴了解网络相关对象和csr配置
1. 网络相关对象、配置介绍
1.1 常用对象
IPv4: 该类主要承载对外网口的IPv4信息,包括:ip地址、掩码、默认网关、地址获取模式(DHCP/Static)、备份IP(备份IP在DHCP模式下被激活)、备份掩码,并提供以上属性的修改接口(接口使用见part3)
| 属性 | 属性说明 |
|---|---|
| IpMode | ipv4的网络模式,DHCP/Static |
| IpAddr | ip地址 |
| BackupIpAddr | 备份IPv4地址 |
| SubnetMask | IPv4子网掩码 |
| BackupSubnetMask | 备份IPv4掩码 |
| DefaultGateway | IPv4默认网关 |
| EthName | 对外网口设备的名称:如eth0.701(701表示带了VLAN) |
IPv6: 该类主要承载对外网口的IPv6信息,包括:ip地址、前缀长度、默认网关、地址获取模式(DHCPv6/Static),并提供以上属性的修改接口(接口使用见part3)
| 属性 | 属性说明 |
|---|---|
| IpMode | ipv6的网络模式,DHCPv6/Static |
| IpAddr | ip地址 |
| PrefixLength | Ipv6前缀长 |
| Scope | Link,Global |
| DefaultGateway | IPv6默认网关 |
EthernetInterfaces: 该类主要承载对外网口的大部分信息,主要包括:
| 属性 | 属性说明 |
|---|---|
| EthName | 对外网口设备的名称:如eth0.701(701表示带了VLAN) |
| NetMode | 固定网口模式/自适应模式 (按网卡优先级选择对外网口设备) |
| Mac | BMC对外的mac |
| IpVersion | IPv4/IPv6使能状态 |
| PortId | 当前激活正在使用的网口ID,对应MgmtPort的Id |
| NcsiEnable | NCSI使能状态 |
| VLANEnable | NCSI的VLAN使能状态 |
| VLANId | NCSI的VLANId |
| LinkLocalAddress | ipv6本地链路地址 |
MgmtPort: 该类主要承载的是物理网卡信息,主要包括:
| 属性 | 属性说明 |
|---|---|
| Id | 唯一的标识(EthernetInterfaces的PortId指的就是这个Id),当前专用口固定1,后面从2开始并返回给network adpter |
| EthId | 关联的eth设备号,2代表eth2 |
| DeviceId | 网卡设备信息,当前都是1,不关键 |
| DevicePortId | 网卡上的端口号(一张网卡有多个端口),port1、port2 |
| Silkscreen | 网卡丝印,Mgmt、Port1 |
| AdaptiveFlag | 是否参与自适应标识 |
| LinkStatus | 链路状态:Disconnected、Connected(专用口由bmc_network更新,ncsi口由network adpter更新) |
| Type | 网卡类型(PCIe/Dedicated/ocp/lom等) |
| VLANEnabled | 当id = 1,表示专用口的vlan信息,当id ~= 1,表示Ncsi口的vlan信息 |
| VLANId | 网卡类型(PCIe/Dedicated/ocp/lom等) |
| Priority | 自适应优先级 |
EthMac: 该类主要承载网口硬件相关配置,主要包括:
| 属性 | 属性说明 |
|---|---|
| GroupId | 网口组Id,EthGroup0、MaintEthGroup |
| EthName | 网口名,eth2、eth0 |
| EthId | 对外网口ID,2、0 |
| Mac | 网口MAC地址 |
| MacUseEnabled | 可使用Mac地址标志,同一网口组只使能一个 |
| SpeedDuplexEnable | 网口自协商模式使能 |
| SpeedSetting | 网口速率: 0:不涉及 1:10M, 2:100M, 3:1000M |
| DuplexSetting | 网口工作模式: 0:不涉及配置 1:半双工 2:全双工 |
EthGroup: 该类主要承载内网、多个对外网口、维护网口配置,主要包括:
| 属性 | 属性说明 |
|---|---|
| GroupId | 网口组Id,唯一性 |
| Name | 网口组名称,InnerEthGroup、MaintEthGroup、VethGroup |
| OutType | 网口组的类型:1:对内,2:对外,3:veth,4:Atlas计算节点近端维护内部网络,5:Atlas计算节点近端维护外出网络,6:SMM板浮动IP网络,7:SMM板出对板的内部网络,8:专用网口近端运维网络,9:机柜管理板内网,10: 机柜节点内网 |
| ActiveEthId | 当前激活的网口号,例如eth2的话此处网口号为2 |
| InnerNetWork | 内网网段,未使用 |
| VLANId | 该网口组激活网口对应的VLANID |
| VLANEnabled | 该网口组激活网口对应的VLAN使能 |
| EthAlias | 激活网口别名,有别名时取值最大为254(255表示没有别名网口),如eth2:0 |
| InnerNetWork | 内网网段,172.31.1.0 |
| IpAddr | IPv4地址 |
| BaseIpAddr | 基准IPv4地址,和IpAdd作比较,内网ip判断是否根据槽位号生成过Ip |
| SubnetMask | IPv4掩码 |
| DefaultGateway | IPv4网关 |
| Ipv6Addr | IPv6地址 |
| PrefixLength | IPv6前缀长 |
| Ipv6DefaultGateway | IPv6网关 |
| IpPolicy | ip生成策略:0:根据默认IP地址,1:根据槽位和基准IP地址生成 |
| Status | 该IP是否在工作状态中 |
| IpMode | IPv4模式,Static或者DHCP |
| Ipv6Mode | IPv6模式,Static或者DHCPv6 |
| IpVersion | IP协议类型,IPv4,IPv6,IPv4AndIPv6 |
| AssociatedPortType | 网口组关联的网口类型 |
| Channel | 网口对应lan通道的channel number |
-
网口模式主要分为自适应和固定模式,固定模式指定NCSI或者专业口作为对外网口,自适应模式根据网口优先级、网口通断自动切换网口
-
DHCP模式主要是设置为DHCP模式后,bmc这里拉起DHCP客户端命令行(传入主机名和板类型+框id+槽位号),如果DHCP服务器可用则会自动给BMC分配ip,如果获取不到ip则会给虚拟网口eth2:1配置192.168.2.100默认ip用于直连
1.2 常用网络csr配置
场景1:eth0和eth2同为对外网口,两个网口给用ip和mac地址,ip地址来源于IPv4/IPv6对象
"EthMac_Eth0": {
"EthId": 0,
"EthName": "eth0",
"GroupId": "EthGroup0",
"Mac": "20:22:01:75:BC:60",
"MacUseEnabled": false,
"SpeedDuplexEnable": true,
"SpeedSetting": 0,
"DuplexSetting": 0
},
"EthMac_Eth2": {
"EthId": 2,
"EthName": "eth2",
"GroupId": "EthGroup0",
"Mac": "20:22:01:75:BC:60",
"MacUseEnabled": true,
"SpeedDuplexEnable": true,
"SpeedSetting": 0,
"DuplexSetting": 0
}
注:GroupId配置一样表示Eth0和Eth2同为对外网口组,Mac地址统一使用配置MacUseEnabled为true的网口的mac,即Eth0使用Eth2的mac地址。
场景2:双网口配置(ncsi和专用口均配置对外ip),专用口使用ipv4对象,新增网口使用EthGroup对象
"EthMac_Eth0": {
"EthId": 0,
"EthName": "eth0",
"GroupId": "EthGroup0",
"Mac": "20:22:01:75:BC:60",
"MacUseEnabled": false,
"SpeedDuplexEnable": true,
"SpeedSetting": 0,
"DuplexSetting": 0
},
"EthMac_Eth2": {
"EthId": 2,
"EthName": "eth2",
"GroupId": "EthGroup0",
"Mac": "20:22:01:75:BC:60",
"MacUseEnabled": true,
"SpeedDuplexEnable": true,
"SpeedSetting": 0,
"DuplexSetting": 0
}
"EthGroup_OutEthGroup1": {
"Name": "OutEthGroup1",
"GroupId": 0,
"OutType": 2,
"ActiveEthId": 0,
"InnerNetWork": "",
"VLANId": 4092,
"VLANEnabled": false,
"EthAlias": 255,
"IpAddr":"192.168.2.200",
"BackupIpAddr": "",
"BaseIpAddr": "",
"SubnetMask": "255.255.255.0",
"BackUpSubnetMask": "",
"DefaultGateway": "192.168.2.200",
"IpPolicy": 0,
"Status": true,
"IpMode": "DHCP",
"Ipv6Mode": "Static",
"Ipv6Addr": "",
"PrefixLength": 0,
"Ipv6DefaultGateway": "",
"AssociatedPortType": 1,
"Channel": 2
},
"IPMIChannel_LAN2": {
"ChanType": 4,
"Instance": 2,
"ChanPro": 1,
"ChannelID": 2,
"DestAddr": 32,
"SrcAddr": 0,
"MedType": 4
}
1.3 常用定制化项说明
| 定制化项 | 定制化接口名称 | 默认值 | 处理逻辑 | 说明 |
|---|---|---|---|---|
| BMC主机名称 | BMCSet_Hostname Custom_SerialNUM |
BMCSet_Hostname:off | if (BMCSet_Hostname == on) 将Custom_SerialNUM作为Hostname(机架服务器) 将Custom_SerialNUM-槽位号作为Hostname(高密服务器节点,暂不支持) else if (FRU数据中的产品序列号 != 空) 将FRU数据中的产品序列号(product-serialnumber)为Hostname else 主机名设成HostName |
BMCSet_Hostname如果设置为on,则表示把Custom_SerialNUM设置为主机名称,长度范围:1~64 (1)不同系列设置的方式有差异,X系列的需要增加槽位号,其他的直接用读取的值; (2)默认写产品序列号作为主机名称; (3)主机名限制字符:`~!@#$%^&*()_=+[{]}|;:’ ,<.>/?\(包含空格) |
| 管理网口IPv4 | BMCSet_ETH0_DHCPMode BMCSet_Eth0_Ipv4 Custom_Eth0_Ip_Addr Custom_ipv4_gateway Custom_Eth0_DefaultPolicy |
BMCSet_ETH0_DHCPMode:on BMCSet_Eth0_Ipv4:off Custom_Eth0_Ip_Addr:空串 Custom_ipv4_gateway:空串 Custom_Eth0_DefaultPolicy:1 |
if(BMCSet_ETH0_DHCPMode == off) if(BMCSet_Eth0_Ipv4 = on) 设置对外网口IPv4地址和掩码为Custom_Eth0_Ip_Addr的值 if(Custom_ipv4_gateway != 空) 设置对外网口IPv4网关为Custom_ipv4_gateway的值 else 设置对外网口IPv4网关为Custom_Eth0_Ip_Addr的值 else if(Custom_Eth0_DefaultPolicy == 2) 设置对外网口IPv4地址和掩码为固定值:192.168.2.100/24 设置对外网口IPv4网关为固定值:192.168.2.100 else 设置对外网口IPv4为DHCP模式 else 设置对外网口IPv4为DHCP模式 |
BMCSet_ETH0_DHCPMode:定制BMC的IPv4地址获取模式,取值: on/不配置:IPV4地址获取模式为DHCP off:IPV4地址获取模式为STATIC BMCSet_Eth0_Ipv4:定制BMC的IPv4地址(含掩码),取值: on:根据Custom_Eth0_Ip_Addr的值设置静态地址 off或不配置:无动作 Custom_Eth0_DefaultPolicy:定制BMC的网口默认策略,取值: 1:配置为DHCP模式 2:配置为固定模式,192.168.2.100/24 |
| 绑定NCSI网口 | Custom_NCSI_Port_Num | 0 | if (BMCSet_NET_Mode != auto && BMCSet_NET_Mode != mgnt ) if (NCSI_Port_Num != 空) 绑定NCSI_Port_Num指定的NCSI网口 else 无动作 elseif (BMCSet_NET_Mode == auto && NCSI_Port_Num != 空) 将NCSI_Port_Num指定的NCSI网口加入到自适应网口 else 无动作 |
定制NCSI的网口号: 四网口配置取值为0-3 两网口配置取值为0-1 备注:当前只支持标准PCIe网卡绑定NCSI端口 |
| NCSI网口VlanID | BMCSet_NCSI_VLAN_ID | 0 | if (BMCSet_NCSI_VLAN_ID != 空 ) 设置NCSI网口VLAN ID为BMCSet_NCSI_VLAN_ID的值 else 设置NCSI网口VLAN ID为0(关闭Vlan功能) |
设置NCSI网口的VLAN ID,取值范围: 0:关闭VLAN 功能 1~4094:实际生效的VLAN ID |
| BMC对外网口模式 | BMCSet_NET_Mode | mgnt | if (BMCSet_NET_Mode == 空) 设置网口模式为强制专用管理网口 else 设置网口模式为BMCSet_NET_Mode的值 |
配置BMC管理网口的模式,取值范围: mgnt或不配置:强制管理网口 auto:自适应(以管理网口的link状态为准) ncsi:强制LOM ncsi模式(暂不支持) pcie:强制PCIE NCSI模式 aggr:强制汇聚网口模式(暂不支持) lom2:强制LOM2 NCSI模式(暂不支持) |
| 网口IPv4/IPv6使能 | BMCSet_IPVersion | IPv4AndIPv6 | if (BMCSet_IPVersion == 空 ) 设置IP版本为成IPv4AndIPv6 else 设置IP版本为BMCSet_IPVersion的值 |
定制BMC网络支持的IP版本,取值范围: IPv4 IPv4AndIPv6 IPv6 |
| BMC域名 | BMCSet_DDSN_DomainName | 空 | 设置域名为BMCSet_DDSN_DomainName的值 | 长度范围:0~67 取值格式: 1、由数字、英文字母、连字符(-),点号(.)组成 2、连字符不能作为开头和结尾,点号不能作为开头 3、任意两个点号之间的字符长度不超过63 |