4 #ifndef vnsw_agent_vgw_cfg_h
5 #define vnsw_agent_vgw_cfg_h
7 #include <boost/property_tree/ptree.hpp>
121 typedef std::set<VirtualGatewayConfig, VirtualGatewayConfigCompare>
Table;
131 void Enqueue(boost::shared_ptr<VirtualGatewayData> request);
132 bool ProcessRequest(boost::shared_ptr<VirtualGatewayData> request);
138 bool DeleteVgw(
const std::string &interface_name);
148 std::unique_ptr< WorkQueue<boost::shared_ptr<VirtualGatewayData> > >
work_queue_;
152 #endif //vnsw_agent_vgw_cfg_h
bool DeleteVgw(const std::string &interface_name)
const SubnetList & routes() const
std::vector< VirtualGatewayInfo > vgw_list_
void Enqueue(boost::shared_ptr< VirtualGatewayData > request)
bool operator()(const VirtualGatewayConfig &cfg1, const VirtualGatewayConfig &cfg2) const
const SubnetList & subnets() const
void set_routes(const SubnetList &routes) const
DISALLOW_COPY_AND_ASSIGN(VirtualGatewayConfigTable)
void DeleteAllOldVersionVgw(uint32_t version)
void set_version(uint32_t version) const
VirtualGatewayConfig::SubnetList routes_
Subnet(const Ip4Address &ip, uint8_t plen)
bool operator<(const Subnet &rhs) const
VirtualGatewayConfig(const std::string &interface_name)
~VirtualGatewayConfigTable()
VirtualGatewayData(MessageType type, std::vector< VirtualGatewayInfo > &list, uint32_t version)
void set_interface(InetInterface *intrface) const
void InitFromConfig(const boost::property_tree::ptree pt)
VirtualGatewayInfo(const std::string &interfacestr, const std::string &vrf, VirtualGatewayConfig::SubnetList &subnets, VirtualGatewayConfig::SubnetList &routes)
std::unique_ptr< WorkQueue< boost::shared_ptr< VirtualGatewayData > > > work_queue_
VirtualGatewayInfo(const std::string &interfacestr)
bool FindChange(const VirtualGatewayConfig::SubnetList &old_subnets, const VirtualGatewayConfig::SubnetList &new_subnets, VirtualGatewayConfig::SubnetList &add_list, VirtualGatewayConfig::SubnetList &del_list)
const std::string & interface_name() const
bool ProcessRequest(boost::shared_ptr< VirtualGatewayData > request)
const Table & table() const
void set_subnets(const SubnetList &subnets) const
VirtualGatewayConfigTable()
VirtualGatewayConfig(const std::string &interface_name, const std::string &vrf_name, const SubnetList &subnets, const SubnetList &routes, uint32_t version)
boost::asio::ip::address_v4 Ip4Address
VirtualGatewayData(MessageType type, uint32_t version)
InetInterface * interface_
bool AddVgw(VirtualGatewayInfo &vgw, uint32_t version)
VirtualGatewayConfig(const VirtualGatewayConfig &rhs)
MessageType message_type_
std::set< VirtualGatewayConfig, VirtualGatewayConfigCompare > Table
std::string interface_name_
std::vector< Subnet > SubnetList
const InetInterface * get_interface() const
void BuildSubnetList(const std::string &subnets, VirtualGatewayConfig::SubnetList &results)
VirtualGatewayConfig::SubnetList subnets_
void InitDone(Agent *agent)
std::string interface_name_
const std::string & vrf_name() const