5 #ifndef __VNSW_CONTROLLER_INIT_HPP__
6 #define __VNSW_CONTROLLER_INIT_HPP__
8 #include <sandesh/sandesh_trace.h>
9 #include <boost/scoped_ptr.hpp>
10 #include <boost/shared_ptr.hpp>
13 #include <xmpp_enet_types.h>
14 #include <xmpp_unicast_types.h>
15 #include <xmpp_multicast_types.h>
36 bool retry_xmpp_server,
bool retry_dns_xmpp_server) :
64 std::unique_ptr<XmlBase>
dom() {
return std::move(
dom_);}
71 std::unique_ptr<XmlBase>
dom_;
192 const std::string &to_address,
194 const std::string &msg,
197 const std::string &to_address,
199 const std::string &msg,
203 (
const autogen::EnetTunnelEncapsulationListType &encap);
205 (
const autogen::TunnelEncapsulationListType &encap);
207 (
const autogen::McastTunnelEncapsulationListType &encap);
223 std::vector<std::string> resp);
252 #define CONTROLLER_RX_ROUTE_MESSAGE_TRACE(obj, index, ...)\
255 AgentXmpp##obj::TraceMsg(ControllerRxRouteMessageTraceBuf1, __FILE__, \
256 __LINE__, __VA_ARGS__);\
258 AgentXmpp##obj::TraceMsg(ControllerRxRouteMessageTraceBuf2, __FILE__, \
259 __LINE__, __VA_ARGS__);\
263 #define CONTROLLER_RX_CONFIG_MESSAGE_TRACE(obj, index, ...)\
266 AgentXmpp##obj::TraceMsg(ControllerRxConfigMessageTraceBuf1, __FILE__, \
267 __LINE__, __VA_ARGS__);\
269 AgentXmpp##obj::TraceMsg(ControllerRxConfigMessageTraceBuf2, __FILE__, \
270 __LINE__, __VA_ARGS__);\
274 #define CONTROLLER_INFO_TRACE(obj, ...)\
276 AgentXmpp##obj::TraceMsg(ControllerInfoTraceBuf, __FILE__, __LINE__, __VA_ARGS__);\
279 #define CONTROLLER_TX_CONFIG_TRACE(obj, index, ...)\
282 AgentXmpp##obj::TraceMsg(ControllerTxConfigTraceBuf1, __FILE__, __LINE__, __VA_ARGS__);\
284 AgentXmpp##obj::TraceMsg(ControllerTxConfigTraceBuf2, __FILE__, __LINE__, __VA_ARGS__);\
288 #define CONTROLLER_ROUTE_WALKER_TRACE(obj, ...)\
290 AgentXmpp##obj::TraceMsg(ControllerRouteWalkerTraceBuf, __FILE__, __LINE__, __VA_ARGS__);\
293 #define CONTROLLER_CONNECTIONS_TRACE(obj, ...)\
295 AgentXmpp##obj::TraceMsg(ControllerConnectionsTraceBuf, __FILE__, __LINE__, __VA_ARGS__);\
298 #define CONTROLLER_TRACE(obj, ...)\
300 AgentXmpp##obj::TraceMsg(ControllerTraceBuf, __FILE__, __LINE__, __VA_ARGS__);\
303 #define CONTROLLER_TX_MESSAGE_TRACE(obj, index, ...)\
306 AgentXmpp##obj::TraceMsg(ControllerTxMessageTraceBuf1, __FILE__, \
307 __LINE__, __VA_ARGS__);\
309 AgentXmpp##obj::TraceMsg(ControllerTxMessageTraceBuf2, __FILE__, \
310 __LINE__, __VA_ARGS__);\
AgentIfMapVmExport * agent_ifmap_vm_export() const
boost::shared_ptr< ControllerDelPeerData > ControllerDelPeerDataType
SandeshTraceBufferPtr ControllerInfoTraceBuf
DISALLOW_COPY_AND_ASSIGN(ControllerXmppData)
std::list< PeerPtr >::iterator BgpPeerIterator
DISALLOW_COPY_AND_ASSIGN(ControllerDelPeerData)
xmps::PeerState peer_state() const
void DelPeerWalkDoneProcess(AgentXmppChannel *ch)
SandeshTraceBufferPtr ControllerTxConfigTraceBuf1
bool VerifyXmppServerTimeout(uint32_t to)
std::unique_ptr< XmlBase > dom_
void SetAgentMcastLabelRange(uint8_t idx)
uint8_t ActiveXmppConnectionCount()
SandeshTraceBufferPtr ControllerRxConfigMessageTraceBuf1
VNController(Agent *agent)
boost::shared_ptr< ControllerReConfigData > ControllerReConfigDataType
void DnsXmppServerConnect()
DISALLOW_COPY_AND_ASSIGN(ControllerWorkQueueData)
const FabricMulticastLabelRange & fabric_multicast_label_range(uint8_t idx) const
boost::shared_ptr< ControllerXmppData > ControllerXmppDataType
SandeshTraceBufferPtr ControllerTxMessageTraceBuf1
void SetDscpConfig(XmppChannelConfig *xmpp_cfg) const
bool connect_xmpp_server() const
DISALLOW_COPY_AND_ASSIGN(ControllerReConfigData)
WorkQueue< ControllerWorkQueueDataType > work_queue_
bool connect_dns_xmpp_server() const
void RegisterControllerChangeCallback(XmppChannelDownCb xmpp_channel_down_cb)
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
void StartDelPeerWalk(AgentXmppChannelPtr ch)
std::vector< AgentXmppChannelPtr > AgentXmppChannelList
void Enqueue(ControllerWorkQueueDataType data)
uint64_t multicast_sequence_number()
virtual ~ControllerReConfigData()
std::list< PeerPtr > BgpPeerList
uint8_t channel_id() const
void StartEndOfRibTxTimer()
void DisConnectDnsServer(uint8_t idx)
void DeleteAgentXmppChannel(uint8_t idx)
SandeshTraceBufferPtr ControllerTraceBuf
void DeleteConnectionInfo(const std::string &addr, bool is_dns) const
boost::uuids::uuid vm_uuid_
MacAddress GetTunnelMac(const autogen::EnetNextHopType &nh)
std::unique_ptr< XmlBase > dom()
xmps::PeerId peer_id() const
TunnelType::TypeBmap GetTypeBitmap(const autogen::EnetTunnelEncapsulationListType &encap)
std::vector< string > server_list_
virtual ~ControllerDelPeerData()
AgentXmppChannelList delpeer_walks_
ControllerDelPeerData(AgentXmppChannel *ch)
ControllerVmiSubscribeData(bool del, const boost::uuids::uuid &vmi_uuid, const boost::uuids::uuid &vm_uuid)
FabricMulticastLabelRange()
void DelPeerWalkDone(AgentXmppChannel *ch)
boost::function< void(uint8_t)> XmppChannelDownCb
std::string fabric_multicast_label_range_str
SandeshTraceBufferPtr ControllerTxMessageTraceBuf2
bool ApplyControllerReConfigInternal(std::vector< string >service_list)
bool retry_dns_xmpp_server_
xmps::PeerState peer_state_
FabricMulticastLabelRange fabric_multicast_label_range_[MAX_XMPP_SERVERS]
AgentXmppChannel * channel()
ControllerConnectRetryData(bool retry_xmpp_server, bool retry_dns_xmpp_server)
const std::string MakeConnectionPrefix(bool is_dns) const
void GracefulRestartConfigListener()
SandeshTraceBufferPtr ControllerRxRouteMessageTraceBuf2
boost::scoped_ptr< AgentIfMapVmExport > agent_ifmap_vm_export_
bool RxXmppMessageTrace(uint8_t peer_index, const std::string &to_address, int port, int size, const std::string &msg, const XmppStanza::XmppMessage *xmpp_msg)
SandeshTraceBufferPtr ControllerTxConfigTraceBuf2
bool IsWorkQueueEmpty() const
uint32_t controller_list_chksum_
boost::shared_ptr< ControllerConnectRetryData > ControllerConnectRetryDataType
boost::uuids::uuid vmi_uuid_
AgentXmppChannelList timed_out_channels_[MAX_XMPP_SERVERS]
void set_disable(bool disabled)
virtual ~ControllerVmiSubscribeData()
boost::shared_ptr< ControllerWorkQueueData > ControllerWorkQueueDataType
virtual ~ControllerWorkQueueData()
void DisConnectControllerIfmapServer(uint8_t idx)
AgentXmppChannel * GetActiveXmppChannel()
boost::shared_ptr< AgentXmppChannel > AgentXmppChannelPtr
void FlushTimedOutChannels(uint8_t index)
BgpPeerList::const_iterator BgpPeerConstIterator
void XmppServerDisConnect()
AgentXmppChannelList::iterator AgentXmppChannelListIter
SandeshTraceBufferPtr ControllerRxRouteMessageTraceBuf1
XmppChannelDownCb xmpp_channel_down_cb_
bool TxXmppMessageTrace(uint8_t peer_index, const std::string &to_address, int port, int size, const std::string &msg, const XmppStanza::XmppMessage *xmpp_msg)
~FabricMulticastLabelRange()
ControllerXmppData(xmps::PeerId peer_id, xmps::PeerState peer_state, uint8_t channel_id, std::unique_ptr< XmlBase > dom, bool config)
void XmppServerUpdate(uint8_t time_out)
AgentXmppChannel * channel_
uint32_t dns_list_chksum_
ControllerReConfigData(std::string service_name, std::vector< string > server_list)
void DnsXmppServerDisConnect()
SandeshTraceBufferPtr ControllerRouteWalkerTraceBuf
uint64_t multicast_sequence_number_
bool AgentReConfigXmppServerConnectedExists(const std::string &server_ip, std::vector< std::string > resp)
virtual ~ControllerConnectRetryData()
ControllerWorkQueueData()
bool ControllerWorkQueueProcess(ControllerWorkQueueDataType data)
void increment_multicast_sequence_number()
virtual ~ControllerXmppData()
std::string service_name_
AgentXmppChannel * FindAgentXmppChannel(const std::string &server_ip)
void ReConnectDnsServer()
void ReConnectXmppServer()
DISALLOW_COPY_AND_ASSIGN(ControllerConnectRetryData)
bool XmppMessageProcess(ControllerXmppDataType data)
void FillMcastLabelRange(uint32_t *star_idx, uint32_t *end_idx, uint8_t idx) const
AgentDnsXmppChannel * FindAgentDnsXmppChannel(const std::string &server_ip)
bool ApplyDnsReConfigInternal(std::vector< string >service_list)
SandeshTraceBufferPtr ControllerRxConfigMessageTraceBuf2