Ospfv3DatabaseDescriptionPacket

Ospfv3DatabaseDescriptionPacket

class

Database Description Packet

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
Ospfv3Packet class

Common OSPFv3 packet header - this header is present in every OSPFv3 packet

Fields

Name Type Description
type
reserved1 uint8_t

8 bits

options Ospfv3Options

24 bits

interfaceMTU uint16_t

16 bits

ddOptions Ospfv3DdOptions

16 bits

sequenceNumber uint32_t

32 bits

lsaHeaders Ospfv3LsaHeader[]
chunkLength
version
instanceID int8_t
reserved uint8_t

RFC 5340 A.3.1. The OSPF Packet Header: Checksum: OSPF uses the standard checksum calculation for IPv6 applications: The 16-bit one's complement of the one's complement sum of the entire contents of the packet, starting with the OSPF packet header, and prepending a "pseudo-header" of IPv6 header fields, as specified in Section 8.1 of [IPV6]. The "Upper-Layer Packet Length" in the pseudo-header is set to the value of the OSPF packet header's length field. The Next Header value used in the pseudo-header is 89. If the packet's length is not an integral number of 16-bit words, the packet is padded with a byte of zero before checksumming. Before computing the checksum, the checksum field in the OSPF packet header is set to 0.

Source code

//
// Database Description Packet
//
class Ospfv3DatabaseDescriptionPacket extends Ospfv3Packet
{
    type = ospf::DATABASE_DESCRIPTION_PACKET;
    uint8_t reserved1 = 0;      //  8 bits
    Ospfv3Options options;      // 24 bits
    uint16_t interfaceMTU;      // 16 bits
    Ospfv3DdOptions ddOptions;  // 16 bits
    uint32_t sequenceNumber;    // 32 bits

    Ospfv3LsaHeader lsaHeaders[];
}

//
// Link State Request
//

File: src/inet/routing/ospfv3/Ospfv3Packet.msg