Ospfv3LinkStateUpdatePacket

Ospfv3LinkStateUpdatePacket

class

Link State Update 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
lsaCount uint32_t

specifies the number of LSAs sent in a single packet

RouterLSAs Ospfv3RouterLsa[]
NetworkLSAs Ospfv3NetworkLsa[]
InterAreaPrefixLSAs Ospfv3InterAreaPrefixLsa[]
LinkLSAs Ospfv3LinkLsa[]
IntraAreaPrefixLSAs Ospfv3IntraAreaPrefixLsa[]

Ospfv3Lsa *LSAs[] @owned @allowReplace; TODO - see Ospfv2LinkStateUpdatePacket

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

//Link State Update packet
class Ospfv3LinkStateUpdatePacket extends Ospfv3Packet
{
    uint32_t lsaCount;  //specifies the number of LSAs sent in a single packet

    Ospfv3RouterLsa RouterLSAs[];
    Ospfv3NetworkLsa NetworkLSAs[];
    Ospfv3InterAreaPrefixLsa InterAreaPrefixLSAs[];
    Ospfv3LinkLsa LinkLSAs[];
    Ospfv3IntraAreaPrefixLsa IntraAreaPrefixLSAs[];
    // Ospfv3Lsa *LSAs[] @owned @allowReplace;
    //TODO - see Ospfv2LinkStateUpdatePacket
}

//
// Link State Acknowledgement
//

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