24 #ifndef LXCPP_NETWORK_CONFIG_HPP
25 #define LXCPP_NETWORK_CONFIG_HPP
36 #include <netinet/in.h>
37 #include <arpa/inet.h>
49 const std::string& zoneif,
51 const std::vector<InetAddr>& addrs,
55 mType(static_cast<int>(type)),
56 mMode(static_cast<int>(mode)),
126 const std::string& zoneif,
128 const std::vector<InetAddr>& addrs = std::vector<InetAddr>(),
132 const std::vector<NetworkInterfaceConfig>&
getInterfaces()
const {
return mInterfaces; }
145 #endif // LXCPP_NETWORK_CONFIG_HPP
void addInetConfig(const std::string &ifname, const InetAddr &addr)
Definition: network-config.cpp:117
CARGO_REGISTER(mHostIf, mZoneIf, mType, mMode, mIpAddrList) private std::string mZoneIf
Definition: network-config.hpp:86
int getTxLength() const
Definition: network-config.cpp:77
const std::vector< InetAddr > & getAddrList() const
Definition: network-config.cpp:82
const std::string & getZoneIf() const
Definition: network-config.cpp:37
Network interface configuration.
Definition: network-config.hpp:44
int mMtu
Definition: network-config.hpp:109
void addInterfaceConfig(const std::string &hostif, const std::string &zoneif, InterfaceType type, const std::vector< InetAddr > &addrs=std::vector< InetAddr >(), MacVLanMode mode=MacVLanMode::PRIVATE)
adds interface configuration.
Definition: network-config.cpp:97
NetworkInterfaceConfig()=default
NetworkInterfaceConfig(const std::string &hostif, const std::string &zoneif, InterfaceType type, const std::vector< InetAddr > &addrs, MacVLanMode mode)
Definition: network-config.hpp:48
Unified ip address.
Definition: network.hpp:56
const std::string & getHostIf() const
Definition: network-config.cpp:32
Configuration file for the code.
const NetworkInterfaceConfig & getInterface(int i) const
Definition: network-config.hpp:133
const std::vector< NetworkInterfaceConfig > & getInterfaces() const
Definition: network-config.hpp:132
void setMTU(int mtu)
Definition: network-config.cpp:52
void setTxLength(int txlen)
Definition: network-config.cpp:62
Actions on network interace in the container.
void setMACAddress(const std::string &mac)
Definition: network-config.cpp:57
#define CARGO_REGISTER(...)
Registers cargo fields within class.
Definition: fields.hpp:74
const std::string & getMACAddress() const
Definition: network-config.cpp:72
int getMTU() const
Definition: network-config.cpp:67
std::vector< InetAddr > mIpAddrList
Definition: network-config.hpp:113
void addInetAddr(const InetAddr &addr)
Definition: network-config.cpp:87
int mMode
Definition: network-config.hpp:98
int mType
Definition: network-config.hpp:97
MacVLanMode
Suported MacVLan modes.
Definition: network.hpp:188
MacVLanMode getMode() const
Definition: network-config.cpp:47
Network interface configuration.
Definition: network-config.hpp:119
InterfaceType
Created interface type.
Definition: network.hpp:179
InterfaceType getType() const
Definition: network-config.cpp:42
lxcpp's exceptions definitions
std::string mMacAddress
Definition: network-config.hpp:110
int mTxLength
Definition: network-config.hpp:111