6 #ifndef vnsw_agent_vxlan_hpp
7 #define vnsw_agent_vxlan_hpp
11 #include <agent_types.h>
23 virtual string ToString()
const {
return "vxlan_id"; };
125 bool active,
bool mirror_destination,
bool bridge) :
138 typedef std::map<ConfigKey, ConfigEntry, ConfigKey>
ConfigTree;
154 const std::string &context);
158 void Create(uint32_t vxlan_id,
const std::string &vrf_name,
159 bool flood_unknown_unicast,
bool mirror_destination,
160 bool learning_enabled,
bool bridge);
161 void Delete(uint32_t vxlan_id);
166 const std::string &vrf,
bool flood_unknown_unicast,
167 bool mirror_destination,
bool learning_enabled,
187 #endif // vnsw_agent_vxlan_hpp
bool DeleteCompositeNH(uint32_t vxlan_id, ComponentNHKeyPtr nh_key)
DISALLOW_COPY_AND_ASSIGN(VxLanTable)
virtual void OnZeroRefcount(AgentDBEntry *e)
virtual size_t Hash(const DBEntry *entry) const
void SendObjectLog(const AgentDBTable *table, AgentLogEvent::type event) const
uint32_t GetRefCount() const
virtual DBEntry * Add(const DBRequest *req)
VxLanId(uint32_t vxlan_id)
static DBTableBase * CreateTable(DB *db, const std::string &name)
ConfigEntry(const std::string &vrf, bool flood_unknown_unicast, bool active, bool mirror_destination, bool bridge)
bool IsLess(const DBEntry &rhs) const
VxlanCompositeNHList vxlan_composite_nh_map_
virtual size_t Hash(const DBRequestKey *key) const
bool operator()(const ConfigKey &lhs, const ConfigKey &rhs) const
boost::shared_ptr< const ComponentNHKey > ComponentNHKeyPtr
uint32_t GetRefCount() const
std::map< ConfigKey, ConfigEntry, ConfigKey > ConfigTree
std::unique_ptr< DBRequestKey > KeyPtr
void Swap(DBRequest *rhs)
uint32_t vxlan_id() const
bool DBEntrySandesh(Sandesh *sresp, std::string &name) const
virtual KeyPtr GetDBRequestKey() const
virtual std::unique_ptr< DBEntry > AllocEntry(const DBRequestKey *k) const
VxLanTable(DB *db, const std::string &name)
void Process(DBRequest &req)
DBTableBase::ListenerId interface_listener_id_
ConfigKey(uint32_t vxlan_id, const boost::uuids::uuid &vn)
static const uint32_t kInvalidvxlan_id
bool mirror_destination() const
void Create(uint32_t vxlan_id, const std::string &vrf_name, bool flood_unknown_unicast, bool mirror_destination, bool learning_enabled, bool bridge)
VxLanId * Locate(uint32_t vxlan_id, const boost::uuids::uuid &vn, const std::string &vrf, bool flood_unknown_unicast, bool mirror_destination, bool learning_enabled, bool bridge)
std::pair< uint32_t, ComponentNHKeyList > VxlanCompositeNHEntry
VxLanIdData(const string &vrf_name, DBRequest &req, bool mirror_destination, bool bridge)
void VmInterfaceNotify(DBTablePartBase *partition, DBEntryBase *e)
class boost::shared_ptr< AgentSandesh > AgentSandeshPtr
const std::string & name() const
virtual string ToString() const
const NextHop * nexthop() const
DISALLOW_COPY_AND_ASSIGN(VxLanId)
virtual bool Delete(DBEntry *entry, const DBRequest *req)
std::map< uint32_t, ComponentNHKeyList > VxlanCompositeNHList
uint32_t vxlan_id() const
bool AddCompositeNH(uint32_t vxlan_id, ComponentNHKeyPtr nh_key)
VxLanId * Find(uint32_t vxlan_id)
virtual AgentSandeshPtr GetAgentSandesh(const AgentSandeshArguments *args, const std::string &context)
const ConfigTree & config_tree() const
VxLanIdKey(uint32_t vxlan_id)
bool flood_unknown_unicast_
DBTableBase::ListenerId vn_table_listener_id_
bool ChangeHandler(VxLanId *vxlan_id, const DBRequest *req)
virtual void SetKey(const DBRequestKey *key)
VxLanId * FindNoLock(uint32_t vxlan_id)
boost::intrusive_ptr< NextHop > NextHopRef
virtual bool OnChange(DBEntry *entry, const DBRequest *req)