OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
rtarget_route.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3
*/
4
5
#ifndef SRC_BGP_RTARGET_RTARGET_ROUTE_H_
6
#define SRC_BGP_RTARGET_RTARGET_ROUTE_H_
7
8
#include <string>
9
#include <vector>
10
11
#include "
base/util.h
"
12
#include "
bgp/bgp_route.h
"
13
#include "
bgp/rtarget/rtarget_address.h
"
14
#include "
bgp/rtarget/rtarget_prefix.h
"
15
#include "
net/bgp_af.h
"
16
17
class
BgpAttr
;
18
class
BgpProtoPrefix
;
19
20
class
RTargetRoute
:
public
BgpRoute
{
21
public
:
22
explicit
RTargetRoute
(
const
RTargetPrefix
&prefix);
23
virtual
int
CompareTo
(
const
Route
&rhs)
const
;
24
25
virtual
std::string
ToString
()
const
;
26
27
const
RTargetPrefix
&
GetPrefix
()
const
{
28
return
prefix_
;
29
}
30
31
virtual
KeyPtr
GetDBRequestKey
()
const
;
32
virtual
void
SetKey
(
const
DBRequestKey
*reqkey);
33
virtual
void
BuildProtoPrefix
(
BgpProtoPrefix
*prefix,
34
const
BgpAttr
*attr = NULL,
35
uint32_t label = 0,
36
uint32_t l3_label = 0)
const
;
37
virtual
void
BuildBgpProtoNextHop
(std::vector<uint8_t> &nh,
38
IpAddress
nexthop)
const
;
39
40
virtual
bool
IsLess
(
const
DBEntry
&genrhs)
const
{
41
const
RTargetRoute
&rhs =
static_cast<
const
RTargetRoute
&
>
(genrhs);
42
int
cmp =
CompareTo
(rhs);
43
return
(cmp < 0);
44
}
45
46
private
:
47
RTargetPrefix
prefix_
;
48
DISALLOW_COPY_AND_ASSIGN
(
RTargetRoute
);
49
};
50
51
#endif // SRC_BGP_RTARGET_RTARGET_ROUTE_H_
RTargetRoute::SetKey
virtual void SetKey(const DBRequestKey *reqkey)
Definition:
rtarget_route.cc:27
IpAddress
boost::asio::ip::address IpAddress
Definition:
address.h:13
Route
Definition:
route.h:14
RTargetRoute::CompareTo
virtual int CompareTo(const Route &rhs) const
Definition:
rtarget_route.cc:18
rtarget_address.h
RTargetRoute::BuildProtoPrefix
virtual void BuildProtoPrefix(BgpProtoPrefix *prefix, const BgpAttr *attr=NULL, uint32_t label=0, uint32_t l3_label=0) const
Definition:
rtarget_route.cc:33
RTargetRoute::IsLess
virtual bool IsLess(const DBEntry &genrhs) const
Definition:
rtarget_route.h:40
DBEntryBase::KeyPtr
std::unique_ptr< DBRequestKey > KeyPtr
Definition:
db_entry.h:25
RTargetRoute::GetPrefix
const RTargetPrefix & GetPrefix() const
Definition:
rtarget_route.h:27
RTargetRoute::DISALLOW_COPY_AND_ASSIGN
DISALLOW_COPY_AND_ASSIGN(RTargetRoute)
RTargetPrefix
Definition:
rtarget_prefix.h:16
BgpProtoPrefix
Definition:
bgp_attr_base.h:97
DBRequestKey
Definition:
db_table.h:26
RTargetRoute::prefix_
RTargetPrefix prefix_
Definition:
rtarget_route.h:47
rtarget_prefix.h
util.h
bgp_af.h
RTargetRoute::ToString
virtual std::string ToString() const
Definition:
rtarget_route.cc:23
bgp_route.h
DBEntry
Definition:
db_entry.h:97
RTargetRoute
Definition:
rtarget_route.h:20
RTargetRoute::RTargetRoute
RTargetRoute(const RTargetPrefix &prefix)
Definition:
rtarget_route.cc:14
RTargetRoute::BuildBgpProtoNextHop
virtual void BuildBgpProtoNextHop(std::vector< uint8_t > &nh, IpAddress nexthop) const
Definition:
rtarget_route.cc:40
RTargetRoute::GetDBRequestKey
virtual KeyPtr GetDBRequestKey() const
Definition:
rtarget_route.cc:47
BgpAttr
Definition:
bgp_attr.h:825
BgpRoute
Definition:
bgp_route.h:22
contrail
controller
src
bgp
rtarget
rtarget_route.h
Generated by
1.8.5