|
|
Standard Xorp FEA AddressTable implementation.
This class acts as a proxy between the interface configuration tree the XrlSocketServer.
IfConfigAddressTable (const IfTree& iftree)
| IfConfigAddressTable |
Constructor.
After construction, instance should be registered with IfConfigUpdateReporter to receive updates in order to function correctly.
~IfConfigAddressTable ()
| ~IfConfigAddressTable |
bool address_valid (const IPv4& addr)
| address_valid |
[const]
Query whether address is valid.
Returns: true if address is enabled.
Reimplemented from AddressTableBase.
bool address_valid (const IPv6& addr)
| address_valid |
[const]
Query whether address is valid.
Returns: true if address is enabled.
Reimplemented from AddressTableBase.
uint32_t address_pif_index (const IPv4& addr)
| address_pif_index |
[const]
Get Unix kernel interface index number associated with address.
Returns: non-zero value on success, zero on failure.
Reimplemented from AddressTableBase.
uint32_t address_pif_index (const IPv6& addr)
| address_pif_index |
[const]
Get Unix kernel interface index number associated with address.
Returns: non-zero value on success, zero on failure.
Reimplemented from AddressTableBase.
void interface_update (const string& ifname,
const Update& update,
bool system)
| interface_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vif_update (const string& ifname,
const string& vifname,
const Update& update,
bool system)
| vif_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vifaddr4_update (const string& ifname,
const string& vifname,
const IPv4& addr,
const Update& update,
bool system)
| vifaddr4_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void vifaddr6_update (const string& ifname,
const string& vifname,
const IPv6& addr,
const Update& update,
bool system)
| vifaddr6_update |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void updates_completed (bool system)
| updates_completed |
[protected]
Reimplemented from IfConfigUpdateReporterBase.
void get_valid_addrs (set<IPv4>& v4s, set<IPv6>& v6s)
| get_valid_addrs |
[protected]
Walk interface configuration tree and find addresses that are valid (ie not on a disabled or deleted branch).
void set_addrs (const set<IPv4>& new_v4s)
| set_addrs |
[protected]
Set new valid interface addresses. Triggers invalid_address messages for addresses in list that are not present in instance address list and then sets instance address set to be same as supplied.
void set_addrs (const set<IPv6>& new_v6s)
| set_addrs |
[protected]
Set new valid interface addresses. Triggers invalid_address messages for addresses in list that are not present in instance address list and then sets instance address set to be same as supplied.
inline void update ()
| update |
[protected]
Covering method for update handling. Scans valid addresses and announces those that have disappeared (calls get_valid_addrs and then set_addrs).
const IfTree& _iftree | _iftree |
[protected]
set<IPv4> _v4addrs | _v4addrs |
[protected]
set<IPv6> _v6addrs | _v6addrs |
[protected]