5 #ifndef vnsw_agent_pkt_control_interface_hpp
6 #define vnsw_agent_pkt_control_interface_hpp
9 #include <boost/bind/bind.hpp>
10 #include <boost/function.hpp>
11 #include <boost/asio.hpp>
15 using namespace boost::placeholders;
24 static const uint32_t kMaxPacketSize = 9060;
30 pkt_handler_ = pkt_handler;
31 InitControlInterface();
34 void Shutdown() { ShutdownControlInterface(); }
47 virtual const std::string &
Name()
const = 0;
59 pkt_handler_->HandleRcvPkt(hdr, pkt);
void Init(PktHandler *pkt_handler)
virtual ~ControlInterface()
PktHandler * pkt_handler() const
bool Process(const AgentHdr &hdr, const PacketBufferPtr &pkt)
virtual uint32_t EncapsulationLength() const =0
PktHandler * pkt_handler_
virtual void IoShutdownControlInterface()=0
virtual void ShutdownControlInterface()=0
virtual void InitControlInterface()=0
DISALLOW_COPY_AND_ASSIGN(ControlInterface)
virtual int Send(const AgentHdr &hdr, const PacketBufferPtr &pkt)=0
virtual const std::string & Name() const =0
boost::shared_ptr< PacketBuffer > PacketBufferPtr