Don't ignore loopback devices and allow addresses on them being enumerated

This commit is contained in:
Tobias Brunner
2012-09-21 18:16:26 +02:00
parent 9513225e6b
commit aed33805ce
10 changed files with 35 additions and 31 deletions
+3 -3
View File
@@ -303,14 +303,14 @@ METHOD(kernel_interface_t, get_interface, char*,
METHOD(kernel_interface_t, create_address_enumerator, enumerator_t*,
private_kernel_interface_t *this, bool include_down_ifaces,
bool include_virtual_ips)
bool include_virtual_ips, bool include_loopback)
{
if (!this->net)
{
return enumerator_create_empty();
}
return this->net->create_address_enumerator(this->net, include_down_ifaces,
include_virtual_ips);
include_virtual_ips, include_loopback);
}
METHOD(kernel_interface_t, add_ip, status_t,
@@ -423,7 +423,7 @@ METHOD(kernel_interface_t, get_address_by_ts, status_t,
}
host->destroy(host);
addrs = create_address_enumerator(this, TRUE, TRUE);
addrs = create_address_enumerator(this, TRUE, TRUE, TRUE);
while (addrs->enumerate(addrs, (void**)&host))
{
if (ts->includes(ts, host))
+4 -2
View File
@@ -320,11 +320,13 @@ struct kernel_interface_t {
* The hosts are read-only, do not modify of free.
*
* @param include_down_ifaces TRUE to enumerate addresses from down interfaces
* @param include_virtual_ips TRUE to enumerate virtual ip addresses
* @param include_virtual_ips TRUE to enumerate virtual IP addresses
* @param include_loopback TRUE to enumerate addresses on loopback interfaces
* @return enumerator over host_t's
*/
enumerator_t *(*create_address_enumerator) (kernel_interface_t *this,
bool include_down_ifaces, bool include_virtual_ips);
bool include_down_ifaces, bool include_virtual_ips,
bool include_loopback);
/**
* Add a virtual IP to an interface.
+5 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2008 Tobias Brunner
* Copyright (C) 2008-2012 Tobias Brunner
* Copyright (C) 2007 Martin Willi
* Hochschule fuer Technik Rapperswil
*
@@ -80,11 +80,13 @@ struct kernel_net_t {
* The hosts are read-only, do not modify of free.
*
* @param include_down_ifaces TRUE to enumerate addresses from down interfaces
* @param include_virtual_ips TRUE to enumerate virtual ip addresses
* @param include_virtual_ips TRUE to enumerate virtual IP addresses
* @param include_loopback TRUE to enumerate addresses on loopback interfaces
* @return enumerator over host_t's
*/
enumerator_t *(*create_address_enumerator) (kernel_net_t *this,
bool include_down_ifaces, bool include_virtual_ips);
bool include_down_ifaces, bool include_virtual_ips,
bool include_loopback);
/**
* Add a virtual IP to an interface.