5 #ifndef __AGENT_PKT_FLOW_MGMT_KEY_H__ 
    6 #define __AGENT_PKT_FLOW_MGMT_KEY_H__ 
  201         ip_(route->prefix_address()), 
plen_(route->prefix_length()) {
 
  217             return ip_ < rhs_key->
ip_;
 
  225             return (((
sizeof(rt->
vrf_id_) + 
sizeof(rt->
type_)) << 3) +
 
  233                 ch = (
const char *)&rt->
vrf_id_;
 
  234                 return ch[
sizeof(rt->
vrf_id_) - i - 1];
 
  237             if (i < 
sizeof(rt->
type_)) {
 
  238                 ch = (
const char *)&rt->
type_;
 
  239                 return ch[
sizeof(rt->
type_) - i - 1];
 
  241             i -= 
sizeof(rt->
type_);
 
  243                 return rt->
ip_.to_v4().to_bytes()[i];
 
  245                 return rt->
ip_.to_v6().to_bytes()[i];
 
  269         } 
else if (
ip_.is_v6()) {
 
std::vector< AclEntryID > AclEntryIDList
 
boost::asio::ip::address IpAddress
 
DISALLOW_COPY_AND_ASSIGN(AclFlowMgmtKey)
 
const AclEntryIDList * ace_id_list() const
 
virtual FlowMgmtKey * Clone()
 
AclEntryIDList ace_id_list_
 
AclFlowMgmtKey(const AclDBEntry *acl, const AclEntryIDList *ace_id_list)
 
virtual ~AclFlowMgmtKey()
 
void set_ace_id_list(const AclEntryIDList *list)
 
static Ip4Address GetIp4SubnetAddress(const Ip4Address &prefix, uint16_t plen)
 
static Ip6Address GetIp6SubnetAddress(const Ip6Address &prefix, uint16_t plen)
 
virtual const PrefixType & prefix_address() const
Returns the value of a stored prefix address (IPv4, IPv6 or MAC address)
 
Base class for all Route entries in agent.
 
virtual ~BgpAsAServiceFlowMgmtKey()
 
virtual bool UseDBEntry() const
 
virtual FlowMgmtKey * Clone()
 
const boost::uuids::uuid & uuid() const
 
DISALLOW_COPY_AND_ASSIGN(BgpAsAServiceFlowMgmtKey)
 
void StartHealthCheck(Agent *agent, FlowEntry *flow, const boost::uuids::uuid &hc_uuid)
 
void StopHealthCheck(FlowEntry *flow)
 
HealthCheckInstanceBase * bgp_health_check_instance_
 
HealthCheckService * bgp_health_check_service_
 
virtual bool Compare(const FlowMgmtKey *rhs) const
 
HealthCheckInstanceBase * bgp_health_check_instance() const
 
uint32_t source_port() const
 
BgpAsAServiceFlowMgmtKey(const boost::uuids::uuid &uuid, uint32_t source_port, uint8_t cn_index, HealthCheckInstanceBase *hc_instance, HealthCheckService *hc_service)
 
BridgeRouteFlowMgmtKey(const BridgeRouteEntry *rt)
 
DISALLOW_COPY_AND_ASSIGN(BridgeRouteFlowMgmtKey)
 
BridgeRouteFlowMgmtKey(uint32_t vrf_id, const MacAddress &mac)
 
virtual bool Compare(const FlowMgmtKey *rhs) const
 
virtual ~BridgeRouteFlowMgmtKey()
 
void set_db_entry(const DBEntry *db_entry)
 
DISALLOW_COPY_AND_ASSIGN(FlowMgmtKey)
 
const DBEntry * db_entry_
 
void set_db_entry(const DBEntry *db_entry)
 
virtual bool UseDBEntry() const
 
const DBEntry * db_entry() const
 
bool IsLess(const FlowMgmtKey *rhs) const
 
FlowEvent::Event FreeDBEntryEvent() const
 
FlowMgmtKey(Type type, const DBEntry *db_entry)
 
virtual void KeyToFlowRequest(FlowEvent *req)
 
virtual FlowMgmtKey * Clone()=0
 
virtual bool Compare(const FlowMgmtKey *rhs) const
 
static std::size_t BitLength(const InetRouteFlowMgmtKey *rt)
 
static char ByteValue(const InetRouteFlowMgmtKey *rt, std::size_t idx)
 
bool Match(const IpAddress &match_ip) const
 
bool NeedsReCompute(const FlowEntry *flow)
 
DISALLOW_COPY_AND_ASSIGN(InetRouteFlowMgmtKey)
 
virtual ~InetRouteFlowMgmtKey()
 
InetRouteFlowMgmtKey(const InetUnicastRouteEntry *route)
 
InetRouteFlowMgmtKey(uint32_t vrf_id, const IpAddress &ip, uint8_t plen)
 
virtual bool Compare(const FlowMgmtKey *rhs) const
 
DISALLOW_COPY_AND_ASSIGN(InterfaceFlowMgmtKey)
 
InterfaceFlowMgmtKey(const Interface *intf)
 
virtual FlowMgmtKey * Clone()
 
virtual ~InterfaceFlowMgmtKey()
 
NhFlowMgmtKey(const NextHop *nh)
 
virtual FlowMgmtKey * Clone()
 
DISALLOW_COPY_AND_ASSIGN(NhFlowMgmtKey)
 
RouteFlowMgmtKey(Type type, uint32_t vrf_id)
 
RouteFlowMgmtKey(Type type, const AgentRoute *rt, uint32_t vrf_id)
 
virtual ~RouteFlowMgmtKey()
 
static Type AddrToType(const IpAddress &addr)
 
DISALLOW_COPY_AND_ASSIGN(RouteFlowMgmtKey)
 
virtual bool UseDBEntry() const
 
static Type RouteToType(const AgentRoute *rt)
 
DISALLOW_COPY_AND_ASSIGN(VnFlowMgmtKey)
 
VnFlowMgmtKey(const VnEntry *vn)
 
virtual FlowMgmtKey * Clone()
 
VrfFlowMgmtKey(const VrfEntry *vrf)
 
virtual ~VrfFlowMgmtKey()
 
DISALLOW_COPY_AND_ASSIGN(VrfFlowMgmtKey)
 
virtual FlowMgmtKey * Clone()
 
bool operator()(const FlowMgmtKey *l, const FlowMgmtKey *r) const