Msg File src/inet/networklayer/ldp/LDPPacket.msg
Name | Type | Description |
---|---|---|
LDP_CONSTANTS | enum | (no 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 |
Source code
// // 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. // import inet.networklayer.contract.ipv4.IPv4Address; namespace inet; enum LDP_CONSTANTS { LDP_BASEHEADER_BYTES = 10; LDP_HEADER_BYTES = 30; // LDP_BASEHEADER_BYTES + 20 } // // 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 { IPv4Address addr; int length; } // // Base class for LDP packets // packet LDPPacket { int type; IPv4Address senderAddress; IPv4Address 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[]; }