OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InetUnicastAgentRouteTable Class Reference

#include <inet_unicast_route.h>

Inheritance diagram for InetUnicastAgentRouteTable:
Collaboration diagram for InetUnicastAgentRouteTable:

Public Types

typedef Patricia::Tree
< InetUnicastRouteEntry,&InetUnicastRouteEntry::rtnode_,
InetUnicastRouteEntry::Rtkey
InetRouteTree
 
- Public Types inherited from AgentRouteTable
typedef std::set< const
AgentRoute *, RouteComparator
UnresolvedRouteTree
 
typedef std::set< const
NextHop *, NHComparator
UnresolvedNHTree
 
- Public Types inherited from DBTable
typedef boost::intrusive_ptr
< DBTableWalk
DBTableWalkRef
 
typedef boost::function< bool(DBTablePartBase
*, DBEntryBase *)> 
WalkFn
 
typedef boost::function< void(DBTableWalkRef,
DBTableBase *)> 
WalkCompleteFn
 
- Public Types inherited from DBTableBase
typedef boost::function< void(DBTablePartBase
*, DBEntryBase *)> 
ChangeCallback
 
typedef int ListenerId
 

Public Member Functions

 InetUnicastAgentRouteTable (DB *db, const std::string &name)
 
virtual ~InetUnicastAgentRouteTable ()
 
InetUnicastRouteEntryFindLPM (const IpAddress &ip)
 
InetUnicastRouteEntryFindLPM (const InetUnicastRouteEntry &rt_key)
 
virtual string GetTableName () const
 
virtual Agent::RouteTableType GetTableType () const
 
virtual void ProcessAdd (AgentRoute *rt)
 
virtual void ProcessDelete (AgentRoute *rt)
 
virtual AgentSandeshPtr GetAgentSandesh (const AgentSandeshArguments *args, const std::string &context)
 
InetUnicastRouteEntryFindRouteUsingKey (InetUnicastRouteEntry &key)
 
InetUnicastRouteEntryFindRoute (const IpAddress &ip)
 
const InetUnicastRouteEntryGetNext (const InetUnicastRouteEntry *rt)
 
InetUnicastRouteEntryGetNextNonConst (const InetUnicastRouteEntry *rt)
 
void Delete (const Peer *peer, const string &vrf_name, const IpAddress &addr, uint8_t plen, AgentRouteData *data)
 
void AddLocalVmRouteReq (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, LocalVmRoute *data)
 
void AddLocalVmRouteReq (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, const boost::uuids::uuid &intf_uuid, const VnListType &vn_list, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool force_policy, const PathPreference &path_preference, const IpAddress &subnet_service_ip, const EcmpLoadBalance &ecmp_load_balance, bool is_local, bool is_health_check_service, bool native_encap, const std::string &intf_name="", bool is_learnt_route=false)
 
void ResyncRoute (const Peer *peer, const string &vrf, const IpAddress &addr, uint8_t plen)
 
void AddVlanNHRouteReq (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, VlanNhRoute *data)
 
void AddVlanNHRouteReq (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, const boost::uuids::uuid &intf_uuid, uint16_t tag, uint32_t label, const VnListType &dest_vn_list, const SecurityGroupList &sg_list_, const TagList &tag_list, const PathPreference &path_preference)
 
InetUnicastRouteEntryFindResolveRoute (const Ip4Address &ip)
 
void AddInetInterfaceRouteReq (const Peer *peer, const string &vm_vrf, const Ip4Address &addr, uint8_t plen, InetInterfaceRoute *data)
 
void AddInetInterfaceRouteReq (const Peer *peer, const string &vm_vrf, const Ip4Address &addr, uint8_t plen, const string &interface, uint32_t label, const VnListType &vn_list)
 
void AddIpamSubnetRoute (const string &vm_vrf, const IpAddress &addr, uint8_t plen, const std::string &vn_name)
 
void AddVrouterSubnetRoute (const IpAddress &dst_addr, uint8_t plen)
 
void AddVhostMplsRoute (const IpAddress &vhost_addr, const Peer *peer)
 
void AddInterfaceRouteReq (Agent *agent, const Peer *peer, const string &vrf_name, const Ip4Address &ip, uint8_t plen, const Interface *intrface, const std::string &vn_name)
 
void AddClonedLocalPathReq (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, ClonedLocalPath *data)
 
bool ResyncSubnetRoutes (const InetUnicastRouteEntry *rt, bool val)
 
uint8_t GetHostPlen (const IpAddress &ip_addr) const
 
void AddEvpnRoute (const AgentRoute *evpn_entry)
 
void DeleteEvpnRoute (const AgentRoute *rt)
 
void TraverseHostRoutesInSubnet (InetUnicastRouteEntry *rt, const Peer *peer)
 
IpAddress GetSubnetAddress (const IpAddress &addr, uint16_t plen) const
 
InetUnicastRouteEntryGetSuperNetRoute (const IpAddress &addr)
 
void AddEvpnRoutingRoute (const IpAddress &ip_addr, uint8_t plen, const VrfEntry *vrf, const Peer *peer, const SecurityGroupList &sg_list, const CommunityList &communities, const PathPreference &path_preference, const EcmpLoadBalance &ecmp_load_balance, const TagList &tag_list, DBRequest &nh_req, uint32_t vxlan_id, const VnListType &vn_list, const std::string &origin_vn="")
 
- Public Member Functions inherited from AgentRouteTable
 AgentRouteTable (DB *db, const std::string &name)
 
virtual ~AgentRouteTable ()
 
virtual int PartitionCount () const
 
virtual std::unique_ptr< DBEntryAllocEntry (const DBRequestKey *k) const
 
virtual size_t Hash (const DBEntry *entry) const
 
virtual size_t Hash (const DBRequestKey *key) const
 
virtual void NotifyEntry (AgentRoute *entry)
 
virtual SandeshTraceBufferPtr GetOperDBTraceBuf () const
 
UnresolvedRouteTree::const_iterator unresolved_route_begin () const
 
UnresolvedRouteTree::const_iterator unresolved_route_end () const
 
int unresolved_route_size () const
 
void AddUnresolvedNH (const NextHop *)
 
void RemoveUnresolvedNH (const NextHop *)
 
void EvaluateUnresolvedNH (void)
 
UnresolvedNHTree::const_iterator unresolved_nh_begin () const
 
UnresolvedNHTree::const_iterator unresolved_nh_end () const
 
void EvaluateUnresolvedRoutes (void)
 
void AddUnresolvedRoute (const AgentRoute *rt)
 
void RemoveUnresolvedRoute (const AgentRoute *rt)
 
Agentagent () const
 
const std::string & vrf_name () const
 
uint32_t vrf_id () const
 
VrfEntryvrf_entry () const
 
AgentRouteFindActiveEntry (const AgentRouteKey *key)
 
AgentRouteFindActiveEntryNoLock (const AgentRouteKey *key)
 
AgentRouteFindActiveEntry (const AgentRoute *key)
 
AgentRouteFindActiveEntryNoLock (const AgentRoute *key)
 
void SetVrf (VrfEntry *vrf)
 
bool DelExplicitRouteWalkerCb (DBTablePartBase *part, DBEntryBase *entry)
 
LifetimeActordeleter ()
 
void ManagedDelete ()
 
virtual void RetryDelete ()
 
void Process (DBRequest &req)
 
void AddChangeInput (DBTablePartition *part, VrfEntry *vrf, AgentRoute *rt, AgentRouteKey *key, AgentRouteData *data)
 
AgentRouteLocateRoute (DBTablePartition *part, VrfEntry *vrf, AgentRoute *rt, AgentRouteKey *key, AgentRouteData *data, bool *notify)
 
- Public Member Functions inherited from RouteTable
 RouteTable (DB *db, const std::string &name)
 
- Public Member Functions inherited from DBTable
 DBTable (DB *db, const std::string &name)
 
virtual ~DBTable ()
 
void Init ()
 
virtual DBTablePartitionAllocPartition (int index)
 
virtual DBEntryAdd (const DBRequest *req)
 
virtual bool OnChange (DBEntry *entry, const DBRequest *req)
 
virtual bool Delete (DBEntry *entry, const DBRequest *req)
 
void NotifyAllEntries ()
 
DBEntryFind (const DBEntry *entry)
 
const DBEntryFind (const DBEntry *entry) const
 
DBEntryFind (const DBRequestKey *key, int id=-1)
 
const DBEntryFind (const DBRequestKey *key, int id=-1) const
 
DBEntryFindNoLock (const DBEntry *entry)
 
DBEntryFindNoLock (const DBRequestKey *key)
 
virtual DBTablePartBaseGetTablePartition (const DBRequestKey *key)
 
virtual const DBTablePartBaseGetTablePartition (const DBRequestKey *key) const
 
virtual DBTablePartBaseGetTablePartition (const DBEntryBase *entry)
 
virtual const DBTablePartBaseGetTablePartition (const DBEntryBase *entry) const
 
virtual DBTablePartBaseGetTablePartition (const int index)
 
virtual const DBTablePartBaseGetTablePartition (const int index) const
 
virtual void Change (DBEntryBase *entry)
 
virtual size_t Size () const
 
DBTableWalkRef AllocWalker (WalkFn walk_fn, WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTableWalkRef &walk)
 
void WalkTable (DBTableWalkRef walk)
 
void WalkAgain (DBTableWalkRef walk)
 
void SetWalkIterationToYield (int count)
 
int GetWalkIterationToYield ()
 
void SetWalkTaskId (int task_id)
 
int GetWalkerTaskId ()
 
- Public Member Functions inherited from DBTableBase
 DBTableBase (DB *db, const std::string &name)
 
virtual ~DBTableBase ()
 
bool Enqueue (DBRequest *req)
 
void EnqueueRemove (DBEntryBase *db_entry)
 
virtual void AddRemoveCallback (const DBEntryBase *entry, bool add) const
 
ListenerId Register (ChangeCallback callback, const std::string &name="unspecified")
 
void Unregister (ListenerId listener)
 
void RunNotify (DBTablePartBase *tpart, DBEntryBase *entry)
 
void AddToDBStateCount (ListenerId listener, int count)
 
uint64_t GetDBStateCount (ListenerId listener)
 
bool empty () const
 
virtual bool MayDelete () const
 
DBdatabase ()
 
const DBdatabase () const
 
const std::string & name () const
 
bool HasListeners () const
 
size_t GetListenerCount () const
 
void FillListeners (std::vector< ShowTableListener > *listeners) const
 
uint64_t enqueue_count () const
 
void incr_enqueue_count ()
 
void reset_enqueue_count ()
 
uint64_t input_count () const
 
void incr_input_count ()
 
void reset_input_count ()
 
uint64_t notify_count () const
 
void incr_notify_count ()
 
void reset_notify_count ()
 
bool HasWalkers () const
 
uint64_t walker_count () const
 
void incr_walker_count ()
 
uint64_t decr_walker_count ()
 
uint64_t walk_request_count () const
 
uint64_t walk_complete_count () const
 
uint64_t walk_cancel_count () const
 
uint64_t walk_again_count () const
 
uint64_t walk_count () const
 
void incr_walk_request_count ()
 
void incr_walk_complete_count ()
 
void incr_walk_cancel_count ()
 
void incr_walk_again_count ()
 
void incr_walk_count ()
 

Static Public Member Functions

static DBTableBaseCreateTable (DB *db, const std::string &name)
 
static void DeleteReq (const Peer *peer, const string &vrf_name, const IpAddress &addr, uint8_t plen, AgentRouteData *data)
 
static void DeleteMplsRouteReq (const Peer *peer, const string &vrf_name, const IpAddress &addr, uint8_t plen, AgentRouteData *data)
 
static void Delete (const Peer *peer, const string &vrf_name, const IpAddress &addr, uint8_t plen)
 
static void AddHostRoute (const string &vrf_name, const IpAddress &addr, uint8_t plen, const std::string &dest_vn_name, bool policy)
 
static void AddLocalVmRoute (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, const boost::uuids::uuid &intf_uuid, const VnListType &vn_list, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool force_policy, const PathPreference &path_preference, const IpAddress &subnet_service_ip, const EcmpLoadBalance &ecmp_load_balance, bool is_local, bool is_health_check_service, const std::string &intf_name, bool native_encap, const std::string &intf_route_type=VmInterface::kInterface, bool is_learnt_route=false)
 
static void AddRemoteVmRouteReq (const Peer *peer, const string &vm_vrf, const IpAddress &vm_addr, uint8_t plen, AgentRouteData *data)
 
static void AddVlanNHRoute (const Peer *peer, const string &vm_vrf, const IpAddress &addr, uint8_t plen, const boost::uuids::uuid &intf_uuid, uint16_t tag, uint32_t label, const VnListType &dest_vn_list, const SecurityGroupList &sg_list_, const TagList &tag_list, const PathPreference &path_preference)
 
static InetUnicastRouteEntryFindResolveRoute (const string &vrf_name, const Ip4Address &ip)
 
static bool ShouldAddArp (const Ip4Address &ip)
 
static void CheckAndAddArpReq (const string &vrf_name, const Ip4Address &ip, const Interface *intf, const VnListType &vn_list, const SecurityGroupList &sg, const TagList &tag)
 
static void CheckAndAddArpRoute (const string &route_vrf_name, const Ip4Address &ip, const MacAddress &mac, const Interface *intf, bool resolved, const VnListType &vn_list, const SecurityGroupList &sg, const TagList &tag)
 
static void AddArpReq (const string &route_vrf_name, const Ip4Address &ip, const string &nh_vrf_name, const Interface *intf, bool policy, const VnListType &dest_vn_list, const SecurityGroupList &sg_list, const TagList &tag_list)
 
static void ArpRoute (DBRequest::DBOperation op, const string &route_vrf_name, const Ip4Address &ip, const MacAddress &mac, const string &nh_vrf_name, const Interface &intf, bool resolved, const uint8_t plen, bool policy, const VnListType &dest_vn_list, const SecurityGroupList &sg_list, const TagList &tag_list)
 
static void NdpRoute (DBRequest::DBOperation op, const string &route_vrf_name, const IpAddress &ip, const MacAddress &mac, const string &nh_vrf_name, const Interface &intf, bool resolved, const uint8_t plen, bool policy, const VnListType &dest_vn_list, const SecurityGroupList &sg_list, const TagList &tag_list)
 
static void AddResolveRoute (const Peer *peer, const string &vrf_name, const Ip4Address &ip, const uint8_t plen, const InterfaceKey &intf_key, const uint32_t label, bool policy, const std::string &vn_name, const SecurityGroupList &sg_list, const TagList &tag_list)
 
static void AddVHostRecvRoute (const Peer *peer, const string &vrf, const InterfaceKey &interface, const IpAddress &addr, uint8_t plen, const string &vn_name, bool policy, bool native_encap, bool ipam_host_route=true)
 
static void AddVHostRecvRouteReq (const Peer *peer, const string &vrf, const InterfaceKey &interface, const IpAddress &addr, uint8_t plen, const string &vn_name, bool policy, bool native_encap)
 
static void AddVHostMplsRecvRouteReq (const Peer *peer, const string &vrf, const InterfaceKey &interface, const IpAddress &addr, uint8_t plen, const string &vn_name, bool policy, bool native_encap)
 
static void AddVHostSubnetRecvRoute (const Peer *peer, const string &vrf, const InterfaceKey &interface, const Ip4Address &addr, uint8_t plen, const std::string &vn_name, bool policy)
 
static void DelVHostSubnetRecvRoute (const string &vm_vrf, const Ip4Address &addr, uint8_t plen)
 
static void AddDropRoute (const string &vm_vrf, const Ip4Address &addr, uint8_t plen, const string &vn_name)
 
static void AddGatewayRoute (const Peer *peer, const string &vrf_name, const Ip4Address &dst_addr, uint8_t plen, const AddressList &gw_list, const VnListType &vn_name, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool native_encap)
 
static void AddGatewayRouteReq (const Peer *peer, const string &vrf_name, const Ip4Address &dst_addr, uint8_t plen, const AddressList &gw_list, const VnListType &vn_name, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool native_encap)
 
static void AddLocalMplsRouteReq (const Peer *peer, const string &vrf_name, const Ip4Address &dst_addr, uint8_t plen, const Ip4Address &gw_ip, const VnListType &vn_name, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool native_encap)
 
static void AddMplsRouteInternal (const Peer *peer, DBRequest *req, const string &vrf_name, const IpAddress &dst_addr, uint8_t plen, const IpAddress &gw_ip, const VnListType &vn_name, uint32_t label, const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &communities, bool native_encap)
 
static void AddMplsRouteReq (const Peer *peer, const string &vrf_name, const IpAddress &dst_addr, uint8_t plen, AgentRouteData *data)
 
- Static Public Member Functions inherited from AgentRouteTable
static bool PathSelection (const Path &path1, const Path &path2)
 
static const std::string & GetSuffix (Agent::RouteTableType type)
 
- Static Public Member Functions inherited from DBTable
static void DBStateClear (DBTable *table, ListenerId id)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (InetUnicastAgentRouteTable)
 

Private Attributes

Agent::RouteTableType type_
 
InetRouteTree tree_
 
Patricia::Node rtnode_
 
DBTableWalker::WalkId walkid_
 

Additional Inherited Members

- Static Public Attributes inherited from AgentRouteTable
static const int kPartitionCount = 1
 
- Static Public Attributes inherited from DBTable
static const int kIterationToYield = 256
 
- Static Public Attributes inherited from DBTableBase
static const int kInvalidId = -1
 

Detailed Description

Definition at line 146 of file inet_unicast_route.h.

Member Typedef Documentation

Constructor & Destructor Documentation

InetUnicastAgentRouteTable::InetUnicastAgentRouteTable ( DB db,
const std::string &  name 
)

Definition at line 46 of file inet_unicast_route.cc.

virtual InetUnicastAgentRouteTable::~InetUnicastAgentRouteTable ( )
inlinevirtual

Definition at line 153 of file inet_unicast_route.h.

Member Function Documentation

void InetUnicastAgentRouteTable::AddArpReq ( const string &  route_vrf_name,
const Ip4Address ip,
const string &  nh_vrf_name,
const Interface intf,
bool  policy,
const VnListType dest_vn_list,
const SecurityGroupList sg_list,
const TagList tag_list 
)
static

Definition at line 1382 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddClonedLocalPathReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
ClonedLocalPath data 
)

Definition at line 1314 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddDropRoute ( const string &  vm_vrf,
const Ip4Address addr,
uint8_t  plen,
const string &  vn_name 
)
static

Definition at line 1739 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddEvpnRoute ( const AgentRoute evpn_entry)

Definition at line 1920 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddEvpnRoutingRoute ( const IpAddress ip_addr,
uint8_t  plen,
const VrfEntry vrf,
const Peer peer,
const SecurityGroupList sg_list,
const CommunityList communities,
const PathPreference path_preference,
const EcmpLoadBalance ecmp_load_balance,
const TagList tag_list,
DBRequest nh_req,
uint32_t  vxlan_id,
const VnListType vn_list,
const std::string &  origin_vn = "" 
)

Definition at line 1961 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddGatewayRoute ( const Peer peer,
const string &  vrf_name,
const Ip4Address dst_addr,
uint8_t  plen,
const AddressList gw_list,
const VnListType vn_name,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  native_encap 
)
static

Definition at line 1777 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddGatewayRouteReq ( const Peer peer,
const string &  vrf_name,
const Ip4Address dst_addr,
uint8_t  plen,
const AddressList gw_list,
const VnListType vn_name,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  native_encap 
)
static

Definition at line 1798 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddHostRoute ( const string &  vrf_name,
const IpAddress addr,
uint8_t  plen,
const std::string &  dest_vn_name,
bool  policy 
)
static

Definition at line 1175 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddInetInterfaceRouteReq ( const Peer peer,
const string &  vm_vrf,
const Ip4Address addr,
uint8_t  plen,
InetInterfaceRoute data 
)

Definition at line 1634 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddInetInterfaceRouteReq ( const Peer peer,
const string &  vm_vrf,
const Ip4Address addr,
uint8_t  plen,
const string &  interface,
uint32_t  label,
const VnListType vn_list 
)

Definition at line 1619 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddInterfaceRouteReq ( Agent agent,
const Peer peer,
const string &  vrf_name,
const Ip4Address ip,
uint8_t  plen,
const Interface intrface,
const std::string &  vn_name 
)

Definition at line 1903 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddIpamSubnetRoute ( const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
const std::string &  vn_name 
)

Definition at line 1831 of file inet_unicast_route.cc.

Here is the call graph for this function:

static void InetUnicastAgentRouteTable::AddLocalMplsRouteReq ( const Peer peer,
const string &  vrf_name,
const Ip4Address dst_addr,
uint8_t  plen,
const Ip4Address gw_ip,
const VnListType vn_name,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  native_encap 
)
static
void InetUnicastAgentRouteTable::AddLocalVmRoute ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
const boost::uuids::uuid intf_uuid,
const VnListType vn_list,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  force_policy,
const PathPreference path_preference,
const IpAddress subnet_service_ip,
const EcmpLoadBalance ecmp_load_balance,
bool  is_local,
bool  is_health_check_service,
const std::string &  intf_name,
bool  native_encap,
const std::string &  intf_route_type = VmInterface::kInterface,
bool  is_learnt_route = false 
)
static

Definition at line 1328 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddLocalVmRouteReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
LocalVmRoute data 
)

Definition at line 1252 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddLocalVmRouteReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
const boost::uuids::uuid intf_uuid,
const VnListType vn_list,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  force_policy,
const PathPreference path_preference,
const IpAddress subnet_service_ip,
const EcmpLoadBalance ecmp_load_balance,
bool  is_local,
bool  is_health_check_service,
bool  native_encap,
const std::string &  intf_name = "",
bool  is_learnt_route = false 
)

Definition at line 1266 of file inet_unicast_route.cc.

Here is the call graph for this function:

static void InetUnicastAgentRouteTable::AddMplsRouteInternal ( const Peer peer,
DBRequest req,
const string &  vrf_name,
const IpAddress dst_addr,
uint8_t  plen,
const IpAddress gw_ip,
const VnListType vn_name,
uint32_t  label,
const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList communities,
bool  native_encap 
)
static
void InetUnicastAgentRouteTable::AddMplsRouteReq ( const Peer peer,
const string &  vrf_name,
const IpAddress dst_addr,
uint8_t  plen,
AgentRouteData data 
)
static

Definition at line 1820 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddRemoteVmRouteReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress vm_addr,
uint8_t  plen,
AgentRouteData data 
)
static

Definition at line 1368 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddResolveRoute ( const Peer peer,
const string &  vrf_name,
const Ip4Address ip,
const uint8_t  plen,
const InterfaceKey intf_key,
const uint32_t  label,
bool  policy,
const std::string &  vn_name,
const SecurityGroupList sg_list,
const TagList tag_list 
)
static

Definition at line 1596 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVHostMplsRecvRouteReq ( const Peer peer,
const string &  vrf,
const InterfaceKey interface,
const IpAddress addr,
uint8_t  plen,
const string &  vn_name,
bool  policy,
bool  native_encap 
)
static

Definition at line 1682 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVhostMplsRoute ( const IpAddress vhost_addr,
const Peer peer 
)

Definition at line 1879 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVHostRecvRoute ( const Peer peer,
const string &  vrf,
const InterfaceKey interface,
const IpAddress addr,
uint8_t  plen,
const string &  vn_name,
bool  policy,
bool  native_encap,
bool  ipam_host_route = true 
)
static

Definition at line 1690 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVHostRecvRouteReq ( const Peer peer,
const string &  vrf,
const InterfaceKey interface,
const IpAddress addr,
uint8_t  plen,
const string &  vn_name,
bool  policy,
bool  native_encap 
)
static

Definition at line 1710 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVHostSubnetRecvRoute ( const Peer peer,
const string &  vrf,
const InterfaceKey interface,
const Ip4Address addr,
uint8_t  plen,
const std::string &  vn_name,
bool  policy 
)
static

Definition at line 1726 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVlanNHRoute ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
const boost::uuids::uuid intf_uuid,
uint16_t  tag,
uint32_t  label,
const VnListType dest_vn_list,
const SecurityGroupList sg_list_,
const TagList tag_list,
const PathPreference path_preference 
)
static

Definition at line 1229 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVlanNHRouteReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
VlanNhRoute data 
)

Definition at line 1196 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVlanNHRouteReq ( const Peer peer,
const string &  vm_vrf,
const IpAddress addr,
uint8_t  plen,
const boost::uuids::uuid intf_uuid,
uint16_t  tag,
uint32_t  label,
const VnListType dest_vn_list,
const SecurityGroupList sg_list_,
const TagList tag_list,
const PathPreference path_preference 
)

Definition at line 1208 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::AddVrouterSubnetRoute ( const IpAddress dst_addr,
uint8_t  plen 
)

Definition at line 1859 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::ArpRoute ( DBRequest::DBOperation  op,
const string &  route_vrf_name,
const Ip4Address ip,
const MacAddress mac,
const string &  nh_vrf_name,
const Interface intf,
bool  resolved,
const uint8_t  plen,
bool  policy,
const VnListType dest_vn_list,
const SecurityGroupList sg_list,
const TagList tag_list 
)
static

Definition at line 1409 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::CheckAndAddArpReq ( const string &  vrf_name,
const Ip4Address ip,
const Interface intf,
const VnListType vn_list,
const SecurityGroupList sg,
const TagList tag 
)
static

Definition at line 1579 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::CheckAndAddArpRoute ( const string &  route_vrf_name,
const Ip4Address ip,
const MacAddress mac,
const Interface intf,
bool  resolved,
const VnListType vn_list,
const SecurityGroupList sg,
const TagList tag 
)
static

Definition at line 1559 of file inet_unicast_route.cc.

Here is the call graph for this function:

DBTableBase * InetUnicastAgentRouteTable::CreateTable ( DB db,
const std::string &  name 
)
static

Definition at line 68 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::Delete ( const Peer peer,
const string &  vrf_name,
const IpAddress addr,
uint8_t  plen 
)
static

Definition at line 1144 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::Delete ( const Peer peer,
const string &  vrf_name,
const IpAddress addr,
uint8_t  plen,
AgentRouteData data 
)

Definition at line 1153 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::DeleteEvpnRoute ( const AgentRoute rt)

Definition at line 1942 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::DeleteMplsRouteReq ( const Peer peer,
const string &  vrf_name,
const IpAddress addr,
uint8_t  plen,
AgentRouteData data 
)
static

Definition at line 1163 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::DeleteReq ( const Peer peer,
const string &  vrf_name,
const IpAddress addr,
uint8_t  plen,
AgentRouteData data 
)
static

Definition at line 1132 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::DelVHostSubnetRecvRoute ( const string &  vm_vrf,
const Ip4Address addr,
uint8_t  plen 
)
static

Definition at line 1752 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastAgentRouteTable::DISALLOW_COPY_AND_ASSIGN ( InetUnicastAgentRouteTable  )
private
InetUnicastRouteEntry * InetUnicastAgentRouteTable::FindLPM ( const IpAddress ip)

Definition at line 75 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastRouteEntry * InetUnicastAgentRouteTable::FindLPM ( const InetUnicastRouteEntry rt_key)

Definition at line 85 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastRouteEntry * InetUnicastAgentRouteTable::FindResolveRoute ( const Ip4Address ip)

Definition at line 90 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastRouteEntry * InetUnicastAgentRouteTable::FindResolveRoute ( const string &  vrf_name,
const Ip4Address ip 
)
static

Definition at line 107 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastRouteEntry* InetUnicastAgentRouteTable::FindRoute ( const IpAddress ip)
inline

Definition at line 183 of file inet_unicast_route.h.

Here is the call graph for this function:

InetUnicastRouteEntry* InetUnicastAgentRouteTable::FindRouteUsingKey ( InetUnicastRouteEntry key)
inline

Definition at line 180 of file inet_unicast_route.h.

Here is the call graph for this function:

AgentSandeshPtr InetUnicastAgentRouteTable::GetAgentSandesh ( const AgentSandeshArguments args,
const std::string &  context 
)
virtual

Reimplemented from AgentRouteTable.

Definition at line 1090 of file inet_unicast_route.cc.

uint8_t InetUnicastAgentRouteTable::GetHostPlen ( const IpAddress ip_addr) const

Definition at line 1894 of file inet_unicast_route.cc.

const InetUnicastRouteEntry* InetUnicastAgentRouteTable::GetNext ( const InetUnicastRouteEntry rt)
inline

Definition at line 187 of file inet_unicast_route.h.

Here is the call graph for this function:

InetUnicastRouteEntry* InetUnicastAgentRouteTable::GetNextNonConst ( const InetUnicastRouteEntry rt)
inline

Definition at line 191 of file inet_unicast_route.h.

Here is the call graph for this function:

IpAddress InetUnicastAgentRouteTable::GetSubnetAddress ( const IpAddress addr,
uint16_t  plen 
) const

Definition at line 298 of file inet_unicast_route.cc.

Here is the call graph for this function:

InetUnicastRouteEntry * InetUnicastAgentRouteTable::GetSuperNetRoute ( const IpAddress addr)

Definition at line 312 of file inet_unicast_route.cc.

Here is the call graph for this function:

virtual string InetUnicastAgentRouteTable::GetTableName ( ) const
inlinevirtual

Implements AgentRouteTable.

Definition at line 157 of file inet_unicast_route.h.

virtual Agent::RouteTableType InetUnicastAgentRouteTable::GetTableType ( ) const
inlinevirtual

Implements AgentRouteTable.

Definition at line 169 of file inet_unicast_route.h.

void InetUnicastAgentRouteTable::NdpRoute ( DBRequest::DBOperation  op,
const string &  route_vrf_name,
const IpAddress ip,
const MacAddress mac,
const string &  nh_vrf_name,
const Interface intf,
bool  resolved,
const uint8_t  plen,
bool  policy,
const VnListType dest_vn_list,
const SecurityGroupList sg_list,
const TagList tag_list 
)
static

Definition at line 1478 of file inet_unicast_route.cc.

Here is the call graph for this function:

virtual void InetUnicastAgentRouteTable::ProcessAdd ( AgentRoute rt)
inlinevirtual

Reimplemented from AgentRouteTable.

Definition at line 172 of file inet_unicast_route.h.

Here is the call graph for this function:

virtual void InetUnicastAgentRouteTable::ProcessDelete ( AgentRoute rt)
inlinevirtual

Reimplemented from AgentRouteTable.

Definition at line 175 of file inet_unicast_route.h.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::ResyncRoute ( const Peer peer,
const string &  vrf,
const IpAddress addr,
uint8_t  plen 
)

Definition at line 1300 of file inet_unicast_route.cc.

Here is the call graph for this function:

bool InetUnicastAgentRouteTable::ResyncSubnetRoutes ( const InetUnicastRouteEntry rt,
bool  val 
)

Definition at line 182 of file inet_unicast_route.cc.

Here is the call graph for this function:

bool InetUnicastAgentRouteTable::ShouldAddArp ( const Ip4Address ip)
static

Definition at line 1546 of file inet_unicast_route.cc.

Here is the call graph for this function:

void InetUnicastAgentRouteTable::TraverseHostRoutesInSubnet ( InetUnicastRouteEntry rt,
const Peer peer 
)

Definition at line 248 of file inet_unicast_route.cc.

Here is the call graph for this function:

Member Data Documentation

Patricia::Node InetUnicastAgentRouteTable::rtnode_
private

Definition at line 440 of file inet_unicast_route.h.

InetRouteTree InetUnicastAgentRouteTable::tree_
private

Definition at line 439 of file inet_unicast_route.h.

Agent::RouteTableType InetUnicastAgentRouteTable::type_
private

Definition at line 438 of file inet_unicast_route.h.

DBTableWalker::WalkId InetUnicastAgentRouteTable::walkid_
private

Definition at line 441 of file inet_unicast_route.h.


The documentation for this class was generated from the following files: