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__);\
bool connect_dns_xmpp_server() const
virtual ~ControllerConnectRetryData()
ControllerConnectRetryData(bool retry_xmpp_server, bool retry_dns_xmpp_server)
bool connect_xmpp_server() const
bool retry_dns_xmpp_server_
DISALLOW_COPY_AND_ASSIGN(ControllerConnectRetryData)
AgentXmppChannel * channel()
ControllerDelPeerData(AgentXmppChannel *ch)
virtual ~ControllerDelPeerData()
DISALLOW_COPY_AND_ASSIGN(ControllerDelPeerData)
AgentXmppChannel * channel_
ControllerReConfigData(std::string service_name, std::vector< string > server_list)
std::vector< string > server_list_
std::string service_name_
virtual ~ControllerReConfigData()
DISALLOW_COPY_AND_ASSIGN(ControllerReConfigData)
virtual ~ControllerVmiSubscribeData()
boost::uuids::uuid vm_uuid_
boost::uuids::uuid vmi_uuid_
ControllerVmiSubscribeData(bool del, const boost::uuids::uuid &vmi_uuid, const boost::uuids::uuid &vm_uuid)
DISALLOW_COPY_AND_ASSIGN(ControllerWorkQueueData)
virtual ~ControllerWorkQueueData()
ControllerWorkQueueData()
xmps::PeerState peer_state_
xmps::PeerState peer_state() const
DISALLOW_COPY_AND_ASSIGN(ControllerXmppData)
std::unique_ptr< XmlBase > dom_
virtual ~ControllerXmppData()
ControllerXmppData(xmps::PeerId peer_id, xmps::PeerState peer_state, uint8_t channel_id, std::unique_ptr< XmlBase > dom, bool config)
xmps::PeerId peer_id() const
std::unique_ptr< XmlBase > dom()
uint8_t channel_id() const
void GracefulRestartConfigListener()
boost::scoped_ptr< AgentIfMapVmExport > agent_ifmap_vm_export_
MacAddress GetTunnelMac(const autogen::EnetNextHopType &nh)
WorkQueue< ControllerWorkQueueDataType > work_queue_
AgentXmppChannel * FindAgentXmppChannel(const std::string &server_ip)
void DisConnectDnsServer(uint8_t idx)
boost::shared_ptr< AgentXmppChannel > AgentXmppChannelPtr
AgentXmppChannelList::iterator AgentXmppChannelListIter
void FillMcastLabelRange(uint32_t *star_idx, uint32_t *end_idx, uint8_t idx) const
void StartDelPeerWalk(AgentXmppChannelPtr ch)
uint8_t ActiveXmppConnectionCount()
bool ApplyDnsReConfigInternal(std::vector< string >service_list)
boost::shared_ptr< ControllerXmppData > ControllerXmppDataType
std::list< PeerPtr >::iterator BgpPeerIterator
AgentXmppChannelList delpeer_walks_
bool XmppMessageProcess(ControllerXmppDataType data)
uint32_t controller_list_chksum_
void SetDscpConfig(XmppChannelConfig *xmpp_cfg) const
uint32_t dns_list_chksum_
void XmppServerDisConnect()
uint64_t multicast_sequence_number_
AgentXmppChannelList timed_out_channels_[MAX_XMPP_SERVERS]
boost::shared_ptr< ControllerWorkQueueData > ControllerWorkQueueDataType
AgentIfMapVmExport * agent_ifmap_vm_export() const
boost::shared_ptr< ControllerReConfigData > ControllerReConfigDataType
BgpPeerList::const_iterator BgpPeerConstIterator
void FlushTimedOutChannels(uint8_t index)
void DelPeerWalkDoneProcess(AgentXmppChannel *ch)
AgentXmppChannel * GetActiveXmppChannel()
AgentDnsXmppChannel * FindAgentDnsXmppChannel(const std::string &server_ip)
bool AgentReConfigXmppServerConnectedExists(const std::string &server_ip, std::vector< std::string > resp)
TunnelType::TypeBmap GetTypeBitmap(const autogen::EnetTunnelEncapsulationListType &encap)
boost::function< void(uint8_t)> XmppChannelDownCb
void SetAgentMcastLabelRange(uint8_t idx)
bool TxXmppMessageTrace(uint8_t peer_index, const std::string &to_address, int port, int size, const std::string &msg, const XmppStanza::XmppMessage *xmpp_msg)
const FabricMulticastLabelRange & fabric_multicast_label_range(uint8_t idx) const
const std::string MakeConnectionPrefix(bool is_dns) const
std::vector< AgentXmppChannelPtr > AgentXmppChannelList
void StartEndOfRibTxTimer()
void XmppServerUpdate(uint8_t time_out)
bool RxXmppMessageTrace(uint8_t peer_index, const std::string &to_address, int port, int size, const std::string &msg, const XmppStanza::XmppMessage *xmpp_msg)
std::list< PeerPtr > BgpPeerList
VNController(Agent *agent)
void DnsXmppServerConnect()
void DeleteConnectionInfo(const std::string &addr, bool is_dns) const
void DeleteAgentXmppChannel(uint8_t idx)
void DelPeerWalkDone(AgentXmppChannel *ch)
void DnsXmppServerDisConnect()
void Enqueue(ControllerWorkQueueDataType data)
bool ControllerWorkQueueProcess(ControllerWorkQueueDataType data)
boost::shared_ptr< ControllerDelPeerData > ControllerDelPeerDataType
boost::shared_ptr< ControllerConnectRetryData > ControllerConnectRetryDataType
bool VerifyXmppServerTimeout(uint32_t to)
void ReConnectXmppServer()
bool IsWorkQueueEmpty() const
FabricMulticastLabelRange fabric_multicast_label_range_[MAX_XMPP_SERVERS]
void DisConnectControllerIfmapServer(uint8_t idx)
uint64_t multicast_sequence_number()
bool ApplyControllerReConfigInternal(std::vector< string >service_list)
void ReConnectDnsServer()
void RegisterControllerChangeCallback(XmppChannelDownCb xmpp_channel_down_cb)
void increment_multicast_sequence_number()
XmppChannelDownCb xmpp_channel_down_cb_
void set_disable(bool disabled)
SandeshTraceBufferPtr ControllerTxConfigTraceBuf1
SandeshTraceBufferPtr ControllerRxConfigMessageTraceBuf2
SandeshTraceBufferPtr ControllerRouteWalkerTraceBuf
SandeshTraceBufferPtr ControllerRxConfigMessageTraceBuf1
SandeshTraceBufferPtr ControllerRxRouteMessageTraceBuf1
SandeshTraceBufferPtr ControllerTxConfigTraceBuf2
SandeshTraceBufferPtr ControllerInfoTraceBuf
SandeshTraceBufferPtr ControllerRxRouteMessageTraceBuf2
SandeshTraceBufferPtr ControllerTxMessageTraceBuf1
SandeshTraceBufferPtr ControllerTxMessageTraceBuf2
SandeshTraceBufferPtr ControllerTraceBuf
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
FabricMulticastLabelRange()
std::string fabric_multicast_label_range_str
~FabricMulticastLabelRange()