MPLS¶
- os_ken.lib.packet.mpls.label_from_bin(buf)¶
将二进制表示的标签转换为整数。
- 参数:
buf -- 标签的二进制表示。
- 返回值:
MPLS 标签和 BoS 位。
- os_ken.lib.packet.mpls.label_to_bin(mpls_label, is_bos=True)¶
将整数标签转换为二进制表示。
- 参数:
mpls_label -- MPLS 标签。
is_bos -- BoS 位。
- 返回值:
标签的二进制表示。
- class os_ken.lib.packet.mpls.mpls(label=0, exp=0, bsb=1, ttl=255)¶
MPLS (RFC 3032) 头部编码/解码类。
注意:在解码时,此实现假定内部协议为 IPv4。
一个实例至少具有以下属性。其中大部分与网络传输中的对应项相同,但采用主机字节顺序。__init__ 按照此顺序接收相应的参数。
属性
描述
标签
标签值
exp
实验用途
bsb
栈底
ttl
生存时间
- classmethod parser(buf)¶
解码协议头。
此方法仅在解码数据包时使用。
在字节数组 buf 的偏移量 0 处解码协议头。返回以下三个对象:
一个描述解码后的头对象。
一个适当于数据包其余部分的 packet_base.PacketBase 子类。如果数据包的其余部分应被视为原始有效负载,则为 None。
数据包的其余部分。
- serialize(payload, prev)¶
编码协议头。
此方法仅在编码数据包时使用。
编码协议头。返回一个包含头的字节数组。
payload 是将立即跟随此头的其余数据包。
prev 是外部协议头的 packet_base.PacketBase 子类。如果当前头是外部头,则 prev 为 None。例如,对于 tcp.serialize,prev 是 ipv4 或 ipv6。