# 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) Continuity Check Message (CCM) encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  md_lv | Maintenance Domain Level.
  version | The protocol version number.
  rdi | RDI bit.
  interval | CCM Interval.The default is 4 (1 frame/s)
  seq_num | Sequence Number.
  mep_id | Maintenance association End Point Identifier.
  md_name_format | Maintenance Domain Name Format. The default is 4 (Character string)
  md_name_length | Maintenance Domain Name Length. (0 means automatically-calculate when encoding.)
  md_name | Maintenance Domain Name.
  short_ma_name_format | Short MA Name Format. The default is 2 (Character string)
  short_ma_name_length | Short MA Name Format Length. (0 means automatically-calculate when encoding.)
  short_ma_name | Short MA Name.
  tlvs | TLVs.

class os_ken.lib.packet.cfm.cfm(op=None)

  CFM (Connectivity Fault Management) Protocol header class.

  http://standards.ieee.org/getieee802/download/802.1ag-2007.pdf

  OpCode Field range assignments

  OpCode range | CFM PDU or organization
  --- | ---
  0 | Reserved for IEEE 802.1
  1 | Continuity Check Message (CCM)
  2 | Loopback Reply (LBR)
  3 | Loopback Message (LBM)
  4 | Linktrace Reply (LTR)
  5 | Linktrace Message (LTM)
  06 - 31 | Reserved for IEEE 802.1
  32 - 63 | Defined by ITU-T Y.1731
  64 - 255 | Reserved for IEEE 802.1.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  op | CFM PDU

  classmethod parser(buf)

    Decode a protocol header.

    This method is used only when decoding a packet.

    Decode a protocol header at offset 0 in bytearray buf. Returns the following three objects.

    - An object to describe the decoded header.

    - A packet_base.PacketBase subclass appropriate for the rest of the packet. None when the rest of the packet should be considered as raw payload.

    - The rest of packet.

  serialize(payload, prev)

    Encode a protocol header.

    This method is used only when encoding a packet.

    Encode a protocol header. Returns a bytearray which contains the header.

    payload is the rest of the packet which will immediately follow this header.

    prev is a packet_base.PacketBase subclass for the outer protocol header. prev is None if the current header is the outer-most. For example, prev is ipv4 or ipv6 for tcp.serialize.

class os_ken.lib.packet.cfm.data_tlv(length=0, data_value=b'')

  CFM (IEEE Std 802.1ag-2007) Data TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding)
  data_value | Bit pattern of any of n octets.(n = length)

class os_ken.lib.packet.cfm.interface_status_tlv(length=0, interface_status=1)

  CFM (IEEE Std 802.1ag-2007) Interface Status TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  interface_status | Interface Status.The default is 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) Linktrace Message (LTM) encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  md_lv | Maintenance Domain Level.
  version | The protocol version number.
  use_fdb_only | UseFDBonly bit.
  transaction_id | LTM Transaction Identifier.
  ttl | LTM TTL.
  ltm_orig_addr | Original MAC Address.
  ltm_targ_addr | Target MAC Address.
  tlvs | TLVs.

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) Linktrace Reply (LTR) encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  version | The protocol version number.
  use_fdb_only | UseFDBonly bit.
  fwd_yes | FwdYes bit.
  terminal_mep | TerminalMep bit.
  transaction_id | LTR Transaction Identifier.
  ttl | Reply TTL.
  relay_action | Relay Action.The default is 1 (RlyHit)
  tlvs | TLVs.

class os_ken.lib.packet.cfm.loopback_message(md_lv=0, version=0, transaction_id=0, tlvs=None)

  CFM (IEEE Std 802.1ag-2007) Loopback Message (LBM) encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  md_lv | Maintenance Domain Level.
  version | The protocol version number.
  transaction_id | Loopback Transaction Identifier.
  tlvs | TLVs.

class os_ken.lib.packet.cfm.loopback_reply(md_lv=0, version=0, transaction_id=0, tlvs=None)

  CFM (IEEE Std 802.1ag-2007) Loopback Reply (LBR) encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  md_lv | Maintenance Domain Level.
  version | The protocol version number.
  transaction_id | Loopback Transaction Identifier.
  tlvs | TLVs.

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 encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  egress_id_ui | Egress Identifier of Unique ID.
  egress_id_mac | Egress Identifier of MAC address.

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 encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  last_egress_id_ui | Last Egress Identifier of Unique ID.
  last_egress_id_mac | Last Egress Identifier of MAC address.
  next_egress_id_ui | Next Egress Identifier of Unique ID.
  next_egress_id_mac | Next Egress Identifier of MAC address.

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) Organization Specific TLV

    encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  oui | Organizationally Unique Identifier.
  subtype | Subtype.
  value | Value.(optional)

class os_ken.lib.packet.cfm.port_status_tlv(length=0, port_status=2)

  CFM (IEEE Std 802.1ag-2007) Port Status TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  port_status | Port Status.The default is 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) Reply Egress TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  action | Egress Action.The default is 1 (EgrOK)
  mac_address | Egress MAC Address.
  port_id_length | Egress PortID Length. (0 means automatically-calculate when encoding.)
  port_id_subtype | Egress PortID Subtype.
  port_id | Egress 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) Reply Ingress TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  action | Ingress Action.The default is 1 (IngOK)
  mac_address | Ingress MAC Address.
  port_id_length | Ingress PortID Length. (0 means automatically-calculate when encoding.)
  port_id_subtype | Ingress PortID Subtype.
  port_id | Ingress 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) Sender ID TLV encoder/decoder class.

  This is used with os_ken.lib.packet.cfm.cfm.

  An instance has the following attributes at least. Most of them are same to the on-wire counterparts but in host byte order. __init__ takes the corresponding args in this order.

  Attribute | Description
  --- | ---
  length | Length of Value field. (0 means automatically-calculate when encoding.)
  chassis_id_length | Chassis ID Length. (0 means automatically-calculate when encoding.)
  chassis_id_subtype | Chassis ID Subtype. The default is 4 (Mac Address)
  chassis_id | Chassis ID.
  ma_domain_length | Management Address Domain Length. (0 means automatically-calculate when encoding.)
  ma_domain | Management Address Domain.
  ma_length | Management Address Length. (0 means automatically-calculate when encoding.)
  ma | Management Address.

this page last updated: 2026-04-10 03:11:34

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug