CFM¶
- class os_ken.lib.packet.cfm.cc_message(md_lv=0, version=0, rdi=0, interval=4, seq_num=0, mep_id=1, md_name_format=4, md_name_length=0, md_name=b'0', short_ma_name_format=2, short_ma_name_length=0, short_ma_name=b'1', tlvs=None)¶
CFM (IEEE Std 802.1ag-2007) 连续性检查消息 (CCM) 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
md_lv
维护域级别。
版本
协议版本号。
rdi
RDI 位。
interval
CCM 间隔。默认值为 4(每秒 1 帧)
seq_num
序列号。
mep_id
维护关联端点标识符。
md_name_format
维护域名称格式。默认值为 4(字符字符串)
md_name_length
维护域名称长度。(0 表示在编码时自动计算。)
md_name
维护域名称。
short_ma_name_format
短 MA 名称格式。默认值为 2(字符字符串)
short_ma_name_length
短 MA 名称格式长度。(0 表示在编码时自动计算。)
short_ma_name
短 MA 名称。
tlvs
TLV。
- class os_ken.lib.packet.cfm.cfm(op=None)¶
CFM(连接故障管理)协议头类。
http://standards.ieee.org/getieee802/download/802.1ag-2007.pdf
OpCode 字段范围分配
OpCode 范围
CFM PDU 或组织
0
保留给 IEEE 802.1
1
连续性检查消息 (CCM)
2
环回回复 (LBR)
3
环回消息 (LBM)
4
链路跟踪回复 (LTR)
5
链路跟踪消息 (LTM)
06 - 31
保留给 IEEE 802.1
32 - 63
由 ITU-T Y.1731 定义
64 - 255
保留给 IEEE 802.1。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
op
CFM PDU
- classmethod parser(buf)¶
解码协议头。
此方法仅在解码数据包时使用。
在字节数组 buf 的偏移量 0 处解码协议头。返回以下三个对象:
一个描述解码后的头对象。
一个适当于数据包其余部分的 packet_base.PacketBase 子类。如果数据包的其余部分应被视为原始有效负载,则为 None。
数据包的其余部分。
- serialize(payload, prev)¶
编码协议头。
此方法仅在编码数据包时使用。
编码协议头。返回一个包含头的字节数组。
payload 是将立即跟随此头的其余数据包。
prev 是外部协议头的 packet_base.PacketBase 子类。如果当前头是外部头,则 prev 为 None。例如,对于 tcp.serialize,prev 是 ipv4 或 ipv6。
- class os_ken.lib.packet.cfm.data_tlv(length=0, data_value=b'')¶
CFM (IEEE Std 802.1ag-2007) 数据 TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算)
data_value
任意 n 个字节的位模式。(n = 长度)
- class os_ken.lib.packet.cfm.interface_status_tlv(length=0, interface_status=1)¶
CFM (IEEE Std 802.1ag-2007) 接口状态 TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
interface_status
接口状态。默认值为 1(isUp)
- class os_ken.lib.packet.cfm.link_trace_message(md_lv=0, version=0, use_fdb_only=1, transaction_id=0, ttl=64, ltm_orig_addr='00:00:00:00:00:00', ltm_targ_addr='00:00:00:00:00:00', tlvs=None)¶
CFM (IEEE Std 802.1ag-2007) 链路跟踪消息 (LTM) 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
md_lv
维护域级别。
版本
协议版本号。
use_fdb_only
UseFDBonly 位。
transaction_id
LTM 事务标识符。
ttl
LTM TTL。
ltm_orig_addr
原始 MAC 地址。
ltm_targ_addr
目标 MAC 地址。
tlvs
TLV。
- class os_ken.lib.packet.cfm.link_trace_reply(md_lv=0, version=0, use_fdb_only=1, fwd_yes=0, terminal_mep=1, transaction_id=0, ttl=64, relay_action=1, tlvs=None)¶
CFM (IEEE Std 802.1ag-2007) 链路跟踪回复 (LTR) 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
版本
协议版本号。
use_fdb_only
UseFDBonly 位。
fwd_yes
FwdYes 位。
terminal_mep
TerminalMep 位。
transaction_id
LTR 事务标识符。
ttl
回复 TTL。
relay_action
中继操作。默认值为 1(RlyHit)
tlvs
TLV。
- class os_ken.lib.packet.cfm.loopback_message(md_lv=0, version=0, transaction_id=0, tlvs=None)¶
CFM (IEEE Std 802.1ag-2007) 环回消息 (LBM) 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
md_lv
维护域级别。
版本
协议版本号。
transaction_id
环回事务标识符。
tlvs
TLV。
- class os_ken.lib.packet.cfm.loopback_reply(md_lv=0, version=0, transaction_id=0, tlvs=None)¶
CFM (IEEE Std 802.1ag-2007) 环回回复 (LBR) 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
md_lv
维护域级别。
版本
协议版本号。
transaction_id
环回事务标识符。
tlvs
TLV。
- class os_ken.lib.packet.cfm.ltm_egress_identifier_tlv(length=0, egress_id_ui=0, egress_id_mac='00:00:00:00:00:00')¶
CFM (IEEE Std 802.1ag-2007) LTM EGRESS TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
egress_id_ui
Egress 标识符的唯一 ID。
egress_id_mac
Egress 标识符的 MAC 地址。
- class os_ken.lib.packet.cfm.ltr_egress_identifier_tlv(length=0, last_egress_id_ui=0, last_egress_id_mac='00:00:00:00:00:00', next_egress_id_ui=0, next_egress_id_mac='00:00:00:00:00:00')¶
CFM (IEEE Std 802.1ag-2007) LTR EGRESS TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
last_egress_id_ui
上一个 Egress 标识符的唯一 ID。
last_egress_id_mac
上一个 Egress 标识符的 MAC 地址。
next_egress_id_ui
下一个 Egress 标识符的唯一 ID。
next_egress_id_mac
下一个 Egress 标识符的 MAC 地址。
- class os_ken.lib.packet.cfm.organization_specific_tlv(length=0, oui=b'\x00\x00\x00', subtype=0, value=b'')¶
- CFM (IEEE Std 802.1ag-2007) 组织特定 TLV
编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
oui
组织唯一标识符。
subtype
子类型。
value
值。(可选)
- class os_ken.lib.packet.cfm.port_status_tlv(length=0, port_status=2)¶
CFM (IEEE Std 802.1ag-2007) 端口状态 TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
port_status
端口状态。默认值为 1(psUp)
- class os_ken.lib.packet.cfm.reply_egress_tlv(length=0, action=1, mac_address='00:00:00:00:00:00', port_id_length=0, port_id_subtype=0, port_id=b'')¶
CFM (IEEE Std 802.1ag-2007) 回复 Egress TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
动作
Egress 操作。默认值为 1(EgrOK)
mac_address
Egress MAC 地址。
port_id_length
Egress PortID 长度。(0 表示在编码时自动计算。)
port_id_subtype
出口 PortID 子类型。
port_id
出口 PortID。
- class os_ken.lib.packet.cfm.reply_ingress_tlv(length=0, action=1, mac_address='00:00:00:00:00:00', port_id_length=0, port_id_subtype=0, port_id=b'')¶
CFM (IEEE Std 802.1ag-2007) 应答入口 TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
动作
入口动作。默认值为 1 (IngOK)
mac_address
入口 MAC 地址。
port_id_length
入口 PortID 长度。(0 表示在编码时自动计算。)
port_id_subtype
入口 PortID 子类型。
port_id
入口 PortID。
- class os_ken.lib.packet.cfm.sender_id_tlv(length=0, chassis_id_length=0, chassis_id_subtype=4, chassis_id=b'', ma_domain_length=0, ma_domain=b'', ma_length=0, ma=b'')¶
CFM (IEEE Std 802.1ag-2007) 发送方 ID TLV 编码器/解码器类。
它与 os_ken.lib.packet.cfm.cfm 一起使用。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
长度
值字段的长度。(0 表示在编码时自动计算。)
chassis_id_length
机箱 ID 长度。(0 表示在编码时自动计算。)
chassis_id_subtype
机箱 ID 子类型。默认值为 4 (Mac 地址)
chassis_id
机箱 ID。
ma_domain_length
管理地址域长度。(0 表示在编码时自动计算。)
ma_domain
管理地址域。
ma_length
管理地址长度。(0 表示在编码时自动计算。)
ma
管理地址。