scapy.contrib.bfd

BFD - Bidirectional Forwarding Detection - RFC 5880, 5881, 7130, 7881

class scapy.contrib.bfd.BFD(_pkt, /, *, version=1, diag=0, sta=3, flags=<Flag 0 ()>, detect_mult=3, len=None, my_discriminator=286331153, your_discriminator=572662306, min_tx_interval=1000000000, min_rx_interval=1000000000, echo_rx_interval=1000000000, optional_auth=None)[source]

Bases: Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|VERSI|   DIAG  |STA|   FLAGS   |  DETECT MULT  |      LEN      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        MY DISCRIMINATOR                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       YOUR DISCRIMINATOR                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        MIN TX INTERVAL                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        MIN RX INTERVAL                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        ECHO RX INTERVAL                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         OPTIONAL AUTH         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                             Fig. BFD                             
BFD fields

version

BitField (3 bits)

1

diag

BitEnumField

0

sta

BitEnumField

3

flags

FlagsField

<Flag 0 ()>

detect_mult

ByteField

3

len

FieldLenField

None

my_discriminator

BitField (32 bits)

286331153

your_discriminator

BitField (32 bits)

572662306

min_tx_interval

BitField (32 bits)

1000000000

min_rx_interval

BitField (32 bits)

1000000000

echo_rx_interval

BitField (32 bits)

1000000000

optional_auth

PacketField (Cond)

None

mysummary()[source]
class scapy.contrib.bfd.OptionalAuth(_pkt, /, *, auth_type=1, auth_len=None, auth_keyid=1, reserved=0, sequence_number=0, auth_key=None)[source]

Bases: Packet

aliastypes
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   AUTH TYPE   |    AUTH LEN   |   AUTH KEYID  |    RESERVED   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        SEQUENCE NUMBER                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            AUTH KEY           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. OptionalAuth                         
OptionalAuth fields

auth_type

ByteEnumField

1

auth_len

FieldLenField

None

auth_keyid

ByteField

1

reserved

XByteField (Cond)

0

sequence_number

IntField (Cond)

0

auth_key

MultipleTypeField (StrFixedLenField, XNBytesField, XNBytesField, StrFixedLenField)

b'password'