common/netlink.h (21 lines of code) (raw):
#pragma once
#include "selectable.h"
#include <netlink/netlink.h>
#include <netlink/route/rtnl.h>
namespace swss
{
class NetLink :
public Selectable
{
public:
NetLink(int pri = 0);
virtual ~NetLink();
void registerGroup(int rtnlGroup);
void dumpRequest(int rtmGetCommand);
int getFd() override;
uint64_t readData() override;
private:
static int onNetlinkMsg(struct nl_msg *msg, void *arg);
struct nl_sock *m_socket;
};
}