Source code for pcapkit.protocols.data.link.ospf

# -*- coding: utf-8 -*-
"""data models for OSPF protocol"""

from typing import TYPE_CHECKING

from pcapkit.corekit.infoclass import info_final
from pcapkit.protocols.data.data import Data
from pcapkit.protocols.data.protocol import Protocol

if TYPE_CHECKING:
    from ipaddress import IPv4Address

    from pcapkit.const.ospf.authentication import Authentication
    from pcapkit.const.ospf.packet import Packet

__all__ = ['OSPF', 'CrytographicAuthentication']


[docs] @info_final class CrytographicAuthentication(Data): """Data model for OSPF crytographic authentication.""" #: Key ID. key_id: 'int' #: Authentication data length. len: 'int' #: Cryptographic sequence number. seq: 'int' if TYPE_CHECKING: def __init__(self, key_id: 'int', len: 'int', seq: 'int') -> 'None': ... # pylint: disable=unused-argument,super-init-not-called,multiple-statements,redefined-builtin
[docs] @info_final class OSPF(Protocol): """Data model for OSPF packet.""" #: Version number. version: 'int' #: Type. type: 'Packet' #: Packet length (header included). len: 'int' #: Router ID. router_id: 'IPv4Address' #: Area ID. area_id: 'IPv4Address' #: Checksum. chksum: 'bytes' #: Authentication type. autype: 'Authentication' if TYPE_CHECKING: #: Authentication. auth: 'bytes | CrytographicAuthentication' def __init__(self, version: 'int', type: 'Packet', len: 'int', router_id: 'IPv4Address', area_id: 'IPv4Address', chksum: 'bytes', autype: 'Authentication') -> 'None': ... # pylint: disable=super-init-not-called,unused-argument,line-too-long,multiple-statements,redefined-builtin