src/routing/global-routing/ipv4-global-routing.h
changeset 4745 a0e27af57c8d
parent 4603 67a0a49c1db4
child 5856 7fd20c798a7d
--- a/src/routing/global-routing/ipv4-global-routing.h	Mon Aug 31 15:29:20 2009 +0200
+++ b/src/routing/global-routing/ipv4-global-routing.h	Mon Aug 31 23:05:26 2009 -0700
@@ -147,6 +147,20 @@
                           uint32_t interface);
 
 /**
+ * \brief Add an external route to the global routing table.
+ *
+ * \param network The Ipv4Address network for this route.
+ * \param networkMask The Ipv4Mask to extract the network.
+ * \param nextHop The next hop Ipv4Address
+ * \param interface The network interface index used to send packets to the
+ * destination.
+ */
+  void AddASExternalRouteTo (Ipv4Address network,
+                             Ipv4Mask networkMask,
+                             Ipv4Address nextHop,
+                             uint32_t interface);
+
+/**
  * \brief Get the number of individual unicast routes that have been added
  * to the routing table.
  *
@@ -204,12 +218,16 @@
   typedef std::list<Ipv4RoutingTableEntry *> NetworkRoutes;
   typedef std::list<Ipv4RoutingTableEntry *>::const_iterator NetworkRoutesCI;
   typedef std::list<Ipv4RoutingTableEntry *>::iterator NetworkRoutesI;
+  typedef std::list<Ipv4RoutingTableEntry *> ASExternalRoutes;
+  typedef std::list<Ipv4RoutingTableEntry *>::const_iterator ASExternalRoutesCI;
+  typedef std::list<Ipv4RoutingTableEntry *>::iterator ASExternalRoutesI;
 
   Ptr<Ipv4Route> LookupGlobal (Ipv4Address dest);
 
   HostRoutes m_hostRoutes;
   NetworkRoutes m_networkRoutes;
-
+  ASExternalRoutes m_ASexternalRoutes; // External routes imported
+  
   Ptr<Ipv4> m_ipv4;
 };