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)

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。

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

管理地址。