Name | Description |
---|---|
LDP_MESSAGE_TYPES (enum) |
LDP message types |
LDP_STATUS_TYPES (enum) | (no description) |
FEC_TLV (struct) | (no description) |
LDPPacket (packet) |
Base class for LDP packets |
LDPLabelMapping (packet) |
LDP Label Mapping Message |
LDPLabelRequest (packet) |
LDP Label Request Message |
LDPHello (packet) |
LDP Hello Message |
LDPNotify (packet) |
LDP notification message |
LDPIni (packet) |
LDP Ini Message |
LDPAddress (packet) |
LDP Address Message |
// // This library is free software, you can redistribute it // and/or modify // it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; // either version 2 of the License, or any later version. // The library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // cplusplus {{ #include "IPAddress.h" // base header: version, length, LSR ID, Label space #define LDP_BASEHEADER_BYTES 10 // FIXME: the length below is just a guess. TBD find lengths for individual TLVs // making up different LDP packet types, and determine length for each packet type #define LDP_HEADER_BYTES (LDP_BASEHEADER_BYTES+20) }} class noncobject IPAddress; // // LDP message types // enum LDP_MESSAGE_TYPES { NOTIFICATION = 10; HELLO = 11; INITIALIZATION = 12; KEEP_ALIVE = 13; ADDRESS = 14; ADDRESS_WITHDRAW = 15; LABEL_MAPPING = 16; LABEL_REQUEST = 17; LABEL_WITHDRAW = 18; LABEL_RELEASE = 19; UNKNOWN = 20; } enum LDP_STATUS_TYPES { NO_ROUTE = 13; } struct FEC_TLV { IPAddress addr; int length; } // // Base class for LDP packets // packet LDPPacket { int type; IPAddress senderAddress; IPAddress receiverAddress; } // // LDP Label Mapping Message // packet LDPLabelMapping extends LDPPacket { FEC_TLV fec; int label; } // // LDP Label Request Message // packet LDPLabelRequest extends LDPPacket { FEC_TLV fec; } // // LDP Hello Message // packet LDPHello extends LDPPacket { double holdTime; bool tbit; bool rbit; } // // LDP notification message // packet LDPNotify extends LDPPacket { int status; FEC_TLV fec; } // // LDP Ini Message // //# FIXME currently unused packet LDPIni extends LDPPacket { double keepAliveTime; bool abit; bool dbit; int pvLim; string receiverLDPIdentifier; } // // LDP Address Message // //# FIXME currently unused packet LDPAddress extends LDPPacket { bool isWithdraw; string family; string addresses[]; }