NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ndn-fib-helper.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
20 #ifndef NDN_FIB_HELPER_H
21 #define NDN_FIB_HELPER_H
22 
23 #include "ns3/ndnSIM/model/ndn-common.hpp"
24 #include "ns3/ndnSIM/model/ndn-face.hpp"
25 
26 #include "ns3/node.h"
27 #include "ns3/object-vector.h"
28 #include "ns3/pointer.h"
29 
30 #include <ndn-cxx/management/nfd-control-parameters.hpp>
31 
32 namespace ns3 {
33 namespace ndn {
34 
35 using ::ndn::nfd::ControlParameters;
36 
45 class FibHelper {
46 public:
55  static void
56  AddRoute(const std::string& nodeName, const Name& prefix, uint32_t faceId, int32_t metric);
57 
66  static void
67  AddRoute(Ptr<Node> node, const Name& prefix, uint32_t faceId, int32_t metric);
68 
77  static void
78  AddRoute(Ptr<Node> node, const Name& prefix, shared_ptr<Face> face, int32_t metric);
79 
88  static void
89  AddRoute(Ptr<Node> node, const Name& prefix, Ptr<Node> otherNode, int32_t metric);
90 
100  static void
101  AddRoute(const std::string& nodeName, const Name& prefix, const std::string& otherNodeName,
102  int32_t metric);
103 
104 private:
105  static void
106  GenerateCommand(Interest& interest);
107 
108  static void
109  AddNextHop(const ControlParameters& parameters, Ptr<Node> node);
110 
111  static void
112  RemoveNextHop(const ControlParameters& parameters, Ptr<Node> node);
113 };
114 
115 } // namespace ndn
116 
117 } // namespace ns3
118 
119 #endif // NDN_FIB_HELPER_H
Forwarding Information Base (FIB) helper.
static void AddRoute(const std::string &nodeName, const Name &prefix, uint32_t faceId, int32_t metric)
Add forwarding entry to FIB.