QuISP
Loading...
Searching...
No Matches
Ospf.h File Reference

This file contains the declaration of the LinkStateDatabase and classes and structs which LinkStateDatabase depends on. These classes are necessary in RoutingDaemon.cc in order to conduct OSPF Routing Protocol. Please refer to https://tech.pjin.jp/blog/2021/03/03/ospf_4/ for description of OSPF. More...

#include <omnetpp.h>
#include <algorithm>
#include <limits>
#include <memory>
#include <queue>
#include <vector>
#include "omnetpp/cexception.h"
Include dependency graph for Ospf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  quisp::modules::ospf::OspfNeighborInfo
 
struct  quisp::modules::ospf::SummaryLinkStateAdvertisement
 This struct is used in DBD packet exchange for two nodes to communicate what link-state advertisements are missing from one or the other. More...
 
struct  quisp::modules::ospf::LinkStateAdvertisement
 Full link-state advertisement that holds info of neighbor_nodes. Element that makes up the LinkStateDatabase topology information. More...
 
class  quisp::modules::ospf::LinkStateDatabase
 Represents the database that holds link-state advertisements of nodes. Effectively, link_state_database is the topology information of a network. This class holds several public methods that enable easy execution of OSPF. More...
 
struct  quisp::modules::ospf::LinkStateDatabase::Vertex
 
struct  quisp::modules::ospf::LinkStateDatabase::VertexMinPriority
 

Namespaces

namespace  quisp
 
namespace  quisp::modules
 
namespace  quisp::modules::ospf
 

Typedefs

using quisp::modules::ospf::NodeAddr = int
 
using quisp::modules::ospf::RouterIds = std::vector<int>
 
using quisp::modules::ospf::NeighborTable = std::map<NodeAddr, OspfNeighborInfo>
 
using quisp::modules::ospf::LinkStateDatabaseSummary = std::vector<SummaryLinkStateAdvertisement>
 
using quisp::modules::ospf::LinkStateUpdate = std::vector<LinkStateAdvertisement>
 

Enumerations

enum class  quisp::modules::ospf::OspfState {
  quisp::modules::ospf::DOWN = 0 , quisp::modules::ospf::INIT = 1 , quisp::modules::ospf::TWO_WAY = 2 , quisp::modules::ospf::EXSTART = 3 ,
  quisp::modules::ospf::EXCHANGE = 4 , quisp::modules::ospf::LOADING = 5 , quisp::modules::ospf::FULL = 6
}
 

Detailed Description

This file contains the declaration of the LinkStateDatabase and classes and structs which LinkStateDatabase depends on. These classes are necessary in RoutingDaemon.cc in order to conduct OSPF Routing Protocol. Please refer to https://tech.pjin.jp/blog/2021/03/03/ospf_4/ for description of OSPF.

Author
Tatsuhiro Nakamori
Date
2023-07-16