5 #ifndef SRC_BGP_ROUTING_POLICY_ROUTING_POLICY_MATCH_H_
6 #define SRC_BGP_ROUTING_POLICY_ROUTING_POLICY_MATCH_H_
33 return Match(route, path, attr);
38 if (
typeid(match) ==
typeid(*
this))
58 virtual std::string
ToString()
const;
87 virtual std::string
ToString()
const;
103 const std::string &comm);
130 virtual std::string
ToString()
const;
141 template <
typename T1,
typename T2>
150 template <
typename T>
183 virtual std::string
ToString()
const;
std::vector< PrefixMatchConfig > PrefixMatchConfigList
bool operator==(const PrefixMatch &rhs) const
bool operator<(const PrefixMatch &rhs) const
PrefixMatch(PrefixT prefix, MatchType match_type)
std::vector< PrefixMatch > PrefixMatchList
virtual bool IsEqual(const RoutingPolicyMatch &prefix) const
virtual std::string ToString() const
PrefixMatchList match_list_
MatchPrefix(const PrefixMatchConfigList &match_config_list)
friend class MatchPrefixTest
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
static MatchType GetMatchType(const std::string &match_type_str)
std::vector< MatchProtocolType > PathSourceList
virtual std::string ToString() const
const PathSourceList & protocols() const
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
virtual bool IsEqual(const RoutingPolicyMatch &community) const
MatchProtocol(const std::vector< std::string > &protocols)
virtual bool Match(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const =0
virtual bool operator!=(const RoutingPolicyMatch &match) const
virtual ~RoutingPolicyMatch()
virtual bool operator==(const RoutingPolicyMatch &match) const
virtual bool IsEqual(const RoutingPolicyMatch &match) const =0
bool operator()(const BgpRoute *route, const BgpPath *path, const BgpAttr *attr) const
virtual std::string ToString() const =0
const std::string MatchProtocolToString(MatchProtocol::MatchProtocolType protocol)
MatchPrefix< PrefixMatchInet6 > MatchPrefixInet6
PrefixMatchBase< Inet6Route, Inet6Prefix > PrefixMatchInet6
PrefixMatchBase< InetRoute, Ip4Prefix > PrefixMatchInet
MatchPrefix< PrefixMatchInet > MatchPrefixInet
#define BOOL_KEY_COMPARE(x, y)