25 #ifndef SERVER_NETDEV_HPP
26 #define SERVER_NETDEV_HPP
31 #include <sys/socket.h>
32 #include <linux/if_link.h>
33 #include <sys/types.h>
38 typedef std::vector<std::tuple<std::string, std::string>>
Attrs;
40 void createVeth(
const pid_t& nsPid,
const std::string& nsDev,
const std::string& hostDev);
42 const std::string& nsDev,
43 const std::string& hostDev,
44 const macvlan_mode& mode);
45 void movePhys(
const pid_t& nsPid,
const std::string& devId);
46 std::vector<std::string>
listNetdev(
const pid_t& nsPid = 0);
47 void destroyNetdev(
const std::string& netdev,
const pid_t pid = 0);
59 void setAttrs(
const pid_t nsPid,
const std::string& netdev,
const Attrs& attrs);
64 void deleteIpAddress(
const pid_t nsPid,
const std::string& netdev,
const std::string& ip);
69 #endif // SERVER_NETDEV_HPP
std::vector< std::string > listNetdev(const pid_t &nsPid)
Definition: netdev.cpp:420
void destroyNetdev(const std::string &netdev, const pid_t pid)
Definition: netdev.cpp:440
void createVeth(const pid_t &nsPid, const std::string &nsDev, const std::string &hostDev)
Definition: netdev.cpp:375
Attrs getAttrs(const pid_t nsPid, const std::string &netdev)
Definition: netdev.cpp:476
void createMacvlan(const pid_t &nsPid, const std::string &nsDev, const std::string &hostDev, const macvlan_mode &mode)
Definition: netdev.cpp:394
void movePhys(const pid_t &nsPid, const std::string &devId)
Definition: netdev.cpp:414
void setAttrs(const pid_t nsPid, const std::string &netdev, const Attrs &attrs)
Definition: netdev.cpp:540
std::vector< std::tuple< std::string, std::string > > Attrs
Definition: netdev.hpp:38
void createBridge(const std::string &netdev)
Create bridge.
Definition: netdev.cpp:454
void deleteIpAddress(const pid_t nsPid, const std::string &netdev, const std::string &ip)
Remove ipv4/ipv6 address from interface.
Definition: netdev.cpp:617