IfConfigGet (IfConfig& ifc)
| IfConfigGet |
~IfConfigGet ()
| ~IfConfigGet |
[virtual]
IfConfig& ifc ()
| ifc |
void register_ifc ()
| register_ifc |
[virtual]
int start ()
| start |
[pure virtual]
Start operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
int stop ()
| stop |
[pure virtual]
Stop operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
bool pull_config (IfTree& config)
| pull_config |
[pure virtual]
Pull the network interface information from the underlying system.
Parameters:
config | the IfTree storage to store the pulled information. |
Returns: true on success, otherwise false.
bool parse_buffer_ifaddrs (IfTree& it, const ifaddrs **ifap)
| parse_buffer_ifaddrs |
Parse information about network interface configuration change from the underlying system.
The information to parse is in "struct ifaddrs" format (e.g., obtained by getifaddrs(3) mechanism).
Parameters:
it | the IfTree storage to store the parsed information. |
ifap | a linked list of the network interfaces on the local machine. |
Returns: true on success, otherwise false.
See also: IfTree.
bool parse_buffer_rtm (IfTree& it, const uint8_t *buf, size_t buf_bytes)
| parse_buffer_rtm |
Parse information about network interface configuration change from the underlying system.
The information to parse is in RTM format (e.g., obtained by routing sockets or by sysctl(3) mechanism).
Parameters:
it | the IfTree storage to store the parsed information. |
buf | the buffer with the data to parse. |
buf_bytes | the size of the data in the buffer. |
Returns: true on success, otherwise false.
See also: IfTree.
bool parse_buffer_ifreq (IfTree& it, int family, const uint8_t *buf,
size_t buf_bytes)
| parse_buffer_ifreq |
Parse information about network interface configuration change from the underlying system.
The information to parse is in "struct ifreq" format (e.g., obtained by ioctl(SIOCGIFCONF) mechanism).
Parameters:
it | the IfTree storage to store the parsed information. |
family | the address family to consider only (e.g., AF_INET or AF_INET6 for IPv4 and IPv6 respectively). |
buf | the buffer with the data to parse. |
buf_bytes | the size of the data in the buffer. |
Returns: true on success, otherwise false.
See also: IfTree.
bool parse_buffer_nlm (IfTree& it, const uint8_t *buf, size_t buf_bytes)
| parse_buffer_nlm |
Parse information about network interface configuration change from the underlying system.
The information to parse is in NETLINK format (e.g., obtained by netlink(7) sockets mechanism).
Parameters:
it | the IfTree storage to store the parsed information. |
buf | the buffer with the data to parse. |
buf_bytes | the size of the data in the buffer. |
Returns: true on success, otherwise false.
See also: IfTree.
string iff_flags (uint32_t flags)
| iff_flags |
[protected static]
int sock (int family)
| sock |
[protected]
int _s4 | _s4 |
[protected]
int _s6 | _s6 |
[protected]
bool _is_running | _is_running |
[protected]