5 #ifndef linux_vnsw_agent_router_id_h
6 #define linux_vnsw_agent_router_id_h
9 #include <boost/bind/bind.hpp>
10 #include <boost/function.hpp>
11 #include <boost/asio.hpp>
14 using namespace boost::placeholders;
16 namespace local = boost::asio::local;
25 friend class TestVnswIf;
28 virtual void SyncCurrentState();
29 virtual void RegisterAsyncReadHandler();
30 void ReadHandler(
const boost::system::error_code &, std::size_t length);
31 void UpdateLinkLocalRoute(
const Ip4Address &addr, uint8_t plen,
bool del_rt);
34 void InitNetlinkScan(uint32_t
type, uint32_t seqno);
35 int NlMsgDecode(
struct nlmsghdr *nl, std::size_t len, uint32_t seq_no);
38 int AddAttr(uint8_t *,
int ,
void *,
int );
39 string NetlinkTypeToString(uint32_t);
40 Event *HandleNetlinkRouteMsg(
struct nlmsghdr *);
41 Event *HandleNetlinkIntfMsg(
struct nlmsghdr *);
42 Event *HandleNetlinkAddrMsg(
struct nlmsghdr *);
boost::asio::ip::address_v4 Ip4Address
DISALLOW_COPY_AND_ASSIGN(VnswInterfaceListenerLinux)
bool ProcessEvent(Event *re)
VnswInterfaceListenerLinux VnswInterfaceListener