NED File src/inet/routing/bgpv4/BGPRouting.ned
Name | Type | Description |
---|---|---|
BGPRouting | simple module |
Implements BGP Version 4. TODO config file! |
Source code
// // Copyright (C) 2010 Helene Lageber // // This program 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 (at your option) any later version. // // This program 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. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, see <http://www.gnu.org/licenses/>. // package inet.routing.bgpv4; import inet.routing.contract.IBGPRouting; // // Implements BGP Version 4. // TODO config file! // // The model implements RFC 4271, with the following limitations: // - NOTIFICATION message is not implemented // - MinASOriginationIntervalTimer and MinRouteAdvertisementIntervalTimer // are not implemented // - Optional UPDATE message Path Attributes are not implemented // - Optional Final State Machine events are not implemented // // Implemented features by RFC 4271 chapters: // - 3. Summary of Operation (Routes & routing Information Base) -- implemented // - 4. Message Formats: // - Header, OPEN, UPDATE & KEEPALIVE -- implemented // - NOTIFICATION -- not implemented // - 5. Path Attributes: // - ORIGIN, AS_PATH, NEXT_HOP -- implemented // - MULTI_EXIT_DISC, LOCAL_PREF, ATOMIC_AGGRGATE, AGGREGATOR -- not implemented // - 6. BGP Error Handling -- not implemented // - 7. BGP Version Negotiation -- not implemented // - 8. Event for the BGP FSM -- implemented except optional ones // - 9. UPDATE Message Handling: // - Decision Process -- implemented // - Update-Send Process -- implemented except Controlling Routing Traffic Overhead // - 10. BGP timers: // - ConnectRetryTimer, Holdtimer, KeepAliveTimer -- implemented // - MinASOriginationIntervalTimer and MinRouteAdvertisementIntervalTimer -- not implemented // // @author Helene Lageber // simple BGPRouting like IBGPRouting { parameters: string interfaceTableModule; // The path to the InterfaceTable module string routingTableModule; string ospfRoutingModule; @display("i=block/network2"); xml bgpConfig; string dataTransferMode @enum("bytecount","object","bytestream") = default("bytecount"); gates: input tcpIn; output tcpOut; }