Package: inet.routing.bgpv4
Bgp
simple moduleImplements BGP Version 4 routing protocol.
The bgpConfig parameter can specify an XML file describing the configuration of all BGP routers and their interfaces in the network.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string | ||
routingTableModule | string | ||
ospfRoutingModule | string | ||
startupTime | double | 0s |
delay before starting BGP |
bgpConfig | xml | ||
ExternalPeerStartDelayOffset | double | 0.5s | |
redistributeRip | bool | false |
redistribute routes learned by RIP into BGP |
redistributeOspf | string | "" |
redistribute routes learned by OSPF into BGP (O IA E1 E2) |
redistributeInternal | bool | false |
redistribute BGP routes into OSPF (as external routes) |
nextHopSelf | bool | false | |
localPreference | int | 100 | |
connectedCheck | bool | true | |
ebgpMultihop | int | 1 |
Properties
Name | Value | Description |
---|---|---|
display | i=block/network2 | |
selfMessageKinds | inet::bgp::BgpSelfMsgKind |
Gates
Name | Direction | Size | Description |
---|---|---|---|
socketIn | input | ||
socketOut | output |
Scheduled messages (observed)
msg | kind | ctrl | tags | msgname | context |
---|---|---|---|---|---|
omnetpp::cMessage | 81 (BgpSelfMsgKind::START_EVENT_KIND) | BGP Start | filled | ||
omnetpp::cMessage | 82 (BgpSelfMsgKind::CONNECT_RETRY_KIND) | BGP Connect Retry | filled | ||
omnetpp::cMessage | 83 (BgpSelfMsgKind::HOLD_TIME_KIND) | BGP Hold Timer | filled | ||
omnetpp::cMessage | 89 (BgpSelfMsgKind::KEEP_ALIVE_KIND) | BGP Keep Alive Timer | filled |
Direct method calls (observed)
call to | function | info |
---|---|---|
MessageDispatcher | inet::MessageDispatcher::arrived | arrived |
Ipv4RoutingTable | inet::Ipv4RoutingTable::addRoute | addRoute(...) |
Ipv4RoutingTable | inet::Ipv4RoutingTable::deleteRoute | deleteRoute(...) |
Ipv4RoutingTable | inet::Ipv4RoutingTable::getInterfaceForDestAddr | getInterfaceForDestAddr(%u.%u.%u.%u) |
Ospfv2 | inet::ospfv2::Ospfv2::checkExternalRoute | checkExternalRoute |
Ospfv2 | inet::ospfv2::Ospfv2::insertExternalRoute | insertExternalRoute |
Incoming messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
socketIn | Indication | 3 (TcpStatusInd::TCP_I_AVAILABLE) | TcpAvailableInfo | MessageChecker | SocketInd |
socketIn | Indication | 3 (TcpStatusInd::TCP_I_AVAILABLE) | TcpAvailableInfo | Tcp | SocketInd |
socketIn | Indication | 4 (TcpStatusInd::TCP_I_ESTABLISHED) | TcpConnectInfo | MessageChecker | SocketInd |
socketIn | Indication | 4 (TcpStatusInd::TCP_I_ESTABLISHED) | TcpConnectInfo | Tcp | SocketInd |
socketIn | Indication | 6 (TcpStatusInd::TCP_I_CLOSED) | TcpCommand | MessageChecker | SocketInd |
socketIn | Indication | 6 (TcpStatusInd::TCP_I_CLOSED) | TcpCommand | Tcp | SocketInd |
socketIn | Indication | 8 (TcpStatusInd::TCP_I_CONNECTION_RESET) | TcpCommand | MessageChecker | SocketInd |
socketIn | Indication | 8 (TcpStatusInd::TCP_I_CONNECTION_RESET) | TcpCommand | Tcp | SocketInd |
socketIn | Packet | 1 (TcpStatusInd::TCP_I_DATA) | MessageChecker | SocketInd | |
socketIn | Packet | 1 (TcpStatusInd::TCP_I_DATA) | Tcp | SocketInd |
Outgoing messages (observed)
Packet operations (observed)
chunkType | packetAction |
---|---|
peekData | |
BgpKeepAliveMessage | insertAtFront |
BgpOpenMessage | insertAtFront |
BgpUpdateMessage | insertAtFront |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
DispatchProtocolReq | addTagIfAbsent |
SocketInd | findTag, getTag |
SocketReq | addTagIfAbsent |
Tagging operations (observed)
tagType | tagAction |
---|---|
inet::Ipv4InterfaceData | getTag |
Source code
// // Implements BGP Version 4 routing protocol. // // The bgpConfig parameter can specify an XML file describing the // configuration of all BGP routers and their interfaces in the network. // //# TODO config file! // simple Bgp like IBgp { parameters: string interfaceTableModule; string routingTableModule; string ospfRoutingModule; volatile double startupTime @unit(s) = default(0s); // delay before starting BGP xml bgpConfig; double ExternalPeerStartDelayOffset @unit(s) = default(0.5s); bool redistributeRip = default(false); // redistribute routes learned by RIP into BGP string redistributeOspf = default(""); // redistribute routes learned by OSPF into BGP (O IA E1 E2) bool redistributeInternal = default(false); // redistribute BGP routes into OSPF (as external routes) bool nextHopSelf = default(false); int localPreference = default(100); bool connectedCheck = default(true); int ebgpMultihop = default(1); @display("i=block/network2"); @selfMessageKinds(inet::bgp::BgpSelfMsgKind); gates: input socketIn @messageKinds(inet::TcpStatusInd); output socketOut @messageKinds(inet::TcpCommandCode); }File: src/inet/routing/bgpv4/Bgp.ned