Module: OSPFv2

Included in:
LSDB::LinkStateDatabase, Neighbor, OspfPacket, SequenceNumber
Defined in:
lib/ie/au_type.rb,
lib/ie/id.rb,
lib/ie/ie.rb,
lib/lsa/lsa.rb,
lib/ie/ls_age.rb,
lib/ie/metric.rb,
lib/ie/ls_type.rb,
lib/ie/options.rb,
lib/lsa/router.rb,
lib/lsa/network.rb,
lib/lsa/summary.rb,
lib/lsa/tlv/tlv.rb,
lib/ie/mt_metric.rb,
lib/ie/opaque_id.rb,
lib/ls_db/common.rb,
lib/lsa/external.rb,
lib/lsa/tlv/link.rb,
lib/packet/hello.rb,
lib/ie/tos_metric.rb,
lib/infra/ospf_io.rb,
lib/lsa/tlv/color.rb,
lib/ie/opaque_type.rb,
lib/ie/packet_type.rb,
lib/ie/router_link.rb,
lib/ie/ospf_version.rb,
lib/lsa/lsa_factory.rb,
lib/lsa/tlv/link_id.rb,
lib/ie/interface_mtu.rb,
lib/ie/external_route.rb,
lib/infra/ospf_common.rb,
lib/infra/ospf_socket.rb,
lib/lsa/tlv/link_type.rb,
lib/neighbor/neighbor.rb,
lib/ie/sequence_number.rb,
lib/packet/ospf_packet.rb,
lib/ie/router_link_type.rb,
lib/neighbor/recv_hello.rb,
lib/infra/ospf_constants.rb,
lib/packet/link_state_ack.rb,
lib/ie/router_link_factory.rb,
lib/lsa/tlv/router_address.rb,
lib/neighbor_sm/down_state.rb,
lib/neighbor_sm/full_state.rb,
lib/neighbor_sm/init_state.rb,
lib/lsa/tlv/local_interface.rb,
lib/lsa/traffic_engineering.rb,
lib/lsa/tlv/remote_interface.rb,
lib/packet/link_state_update.rb,
lib/ls_db/link_state_database.rb,
lib/lsa/tlv/maximum_bandwidth.rb,
lib/neighbor/recv_ospf_packet.rb,
lib/neighbor_sm/attempt_state.rb,
lib/neighbor_sm/exstart_state.rb,
lib/neighbor_sm/loading_state.rb,
lib/packet/link_state_request.rb,
lib/neighbor_sm/exchange_state.rb,
lib/neighbor_sm/neighbor_state.rb,
lib/packet/database_description.rb,
lib/lsa/tlv/unreserved_bandwidth.rb,
lib/ls_db/link_state_database_links.rb,
lib/neighbor/neighbor_event_handler.rb,
lib/lsa/tlv/traffic_engineering_metric.rb,
lib/neighbor/recv_database_description.rb,
lib/lsa/tlv/maximum_reservable_bandwidth.rb

Overview

– Copyright 2010 Jean-Michel Esnault. All rights reserved. See LICENSE.txt for permissions.

This file is part of OSPFv2.

OSPFv2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OSPFv2 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with OSPFv2. If not, see <www.gnu.org/licenses/>. ++

Defined Under Namespace

Modules: Common, CommonMetric, Constant, IE, LSDB, NeighborState, SubTlv, Tlv Classes: AsExternal, AsbrSummary, AuType, Color_Tlv, DatabaseDescription, ExternalRoute, ExternalRoute_Base, External_Base, Hello, Id, Input, InterfaceMtu, LinkId_Tlv, LinkStateAck, LinkStateRequest, LinkStateUpdate, LinkType_Tlv, Link_Tlv, LocalInterfaceIpAddress_Tlv, LsAge, LsType, Lsa, MaximumBandwidth_Tlv, MaximumReservableBandwidth_Tlv, Metric, MtExternalRoute, MtMetric, Neighbor, NeighborEventHandler, Network, OpaqueId, OpaqueType, Options, OspfPacket, OspfVersion, OutputQ, PacketType, RecvSocket, RemoteInterfaceIpAddress_Tlv, Router, RouterAddress_Tlv, RouterLink, RouterLinkType, SendSocket, SequenceNumber, Summary, Summary_Base, TosMetric, TrafficEngineering, TrafficEngineeringMetric_Tlv, UnreservedBandwidth_Tlv

Constant Summary collapse

Netmask =
Class.new(Id)
VERSION =
2
LSRefreshTime =
30*60
MinLSInterval =
5
MinLSArrival =
1
MaxAge =
3600
CheckAge =
5*60
MaxAgeDiff =
15*60
LSInfinity =
0xffffffff
DefaultDestination =
"0.0.0.0"
N =
0x80000000
InitialSequenceNumber =
N + 1
MaxSequenceNumber =
N - 1
1
2
3
4
ROUTER_LSA =
1
NETWORK_LSA =
2
SUMMARY_LSA =
3
ASBR_SUMMMARY_LSA =
4
EXTERNAL_LSA =
5
NSSA_LSA =
7
IPPROTO_OSPF =
89
AllSPFRouters =
"224.0.0.5"
AllDRouters =
"224.0.0.6"
EXTERNAL_BASE_ADDRESS =
'50.0.0.0/24'
SUMMARY_BASE_ADDRESS =
'30.0.0.0/24'
NETWORK_BASE_ADDRESS =
'20.0.0.0/24'
'13.0.0.0/30'
PACKET_HEADER_LEN =
24
LSA_HEADER_LEN =
20