mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-01-12 21:41:28 +00:00
Use NETIF_FOREACH macro at appropriate places
Use NETIF_FOREACH macro to get some optimizations for LWIP_SINGLE_NETIF case. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: goldsimon <goldsimon@gmx.de>
This commit is contained in:
parent
8c6884b2db
commit
2ff0ef027e
@ -162,7 +162,7 @@ ip4_route(const ip4_addr_t *dest)
|
|||||||
#endif /* LWIP_MULTICAST_TX_OPTIONS */
|
#endif /* LWIP_MULTICAST_TX_OPTIONS */
|
||||||
|
|
||||||
/* iterate through netifs */
|
/* iterate through netifs */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
/* is the netif up, does it have a link and a valid address? */
|
/* is the netif up, does it have a link and a valid address? */
|
||||||
if (netif_is_up(netif) && netif_is_link_up(netif) && !ip4_addr_isany_val(*netif_ip4_addr(netif))) {
|
if (netif_is_up(netif) && netif_is_link_up(netif) && !ip4_addr_isany_val(*netif_ip4_addr(netif))) {
|
||||||
/* network mask matches? */
|
/* network mask matches? */
|
||||||
@ -186,7 +186,7 @@ ip4_route(const ip4_addr_t *dest)
|
|||||||
return netif_default;
|
return netif_default;
|
||||||
}
|
}
|
||||||
/* default netif is not up, just use any netif for loopback traffic */
|
/* default netif is not up, just use any netif for loopback traffic */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (netif_is_up(netif)) {
|
if (netif_is_up(netif)) {
|
||||||
return netif;
|
return netif;
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
IP6_ADDR_ZONECHECK(dest);
|
IP6_ADDR_ZONECHECK(dest);
|
||||||
/* Find a netif based on the zone. For custom mappings, one zone may map
|
/* Find a netif based on the zone. For custom mappings, one zone may map
|
||||||
* to multiple netifs, so find one that can actually send a packet. */
|
* to multiple netifs, so find one that can actually send a packet. */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (ip6_addr_test_zone(dest, netif) &&
|
if (ip6_addr_test_zone(dest, netif) &&
|
||||||
netif_is_up(netif) && netif_is_link_up(netif)) {
|
netif_is_up(netif) && netif_is_link_up(netif)) {
|
||||||
return netif;
|
return netif;
|
||||||
@ -148,7 +148,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
#if LWIP_IPV6_SCOPES
|
#if LWIP_IPV6_SCOPES
|
||||||
if (ip6_addr_has_zone(src)) {
|
if (ip6_addr_has_zone(src)) {
|
||||||
/* Find a netif matching the source zone (relatively cheap). */
|
/* Find a netif matching the source zone (relatively cheap). */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (netif_is_up(netif) && netif_is_link_up(netif) &&
|
if (netif_is_up(netif) && netif_is_link_up(netif) &&
|
||||||
ip6_addr_test_zone(src, netif)) {
|
ip6_addr_test_zone(src, netif)) {
|
||||||
return netif;
|
return netif;
|
||||||
@ -158,7 +158,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
#endif /* LWIP_IPV6_SCOPES */
|
#endif /* LWIP_IPV6_SCOPES */
|
||||||
{
|
{
|
||||||
/* Find a netif matching the source address (relatively expensive). */
|
/* Find a netif matching the source address (relatively expensive). */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -191,7 +191,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
* such, the destination address may still match a local address, and so we
|
* such, the destination address may still match a local address, and so we
|
||||||
* still need to check for exact matches here. By (lwIP) policy, statically
|
* still need to check for exact matches here. By (lwIP) policy, statically
|
||||||
* configured addresses do always have an implied local /64 subnet. */
|
* configured addresses do always have an implied local /64 subnet. */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -214,7 +214,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
/* Try with the netif that matches the source address. Given the earlier rule
|
/* Try with the netif that matches the source address. Given the earlier rule
|
||||||
* for scoped source addresses, this applies to unscoped addresses only. */
|
* for scoped source addresses, this applies to unscoped addresses only. */
|
||||||
if (!ip6_addr_isany(src)) {
|
if (!ip6_addr_isany(src)) {
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
if (!netif_is_up(netif) || !netif_is_link_up(netif)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -235,7 +235,7 @@ ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest)
|
|||||||
return netif_default;
|
return netif_default;
|
||||||
}
|
}
|
||||||
/* default netif is not up, just use any netif for loopback traffic */
|
/* default netif is not up, just use any netif for loopback traffic */
|
||||||
for (netif = netif_list; netif != NULL; netif = netif->next) {
|
NETIF_FOREACH(netif) {
|
||||||
if (netif_is_up(netif)) {
|
if (netif_is_up(netif)) {
|
||||||
return netif;
|
return netif;
|
||||||
}
|
}
|
||||||
|
@ -540,7 +540,7 @@ netif_remove(struct netif *netif)
|
|||||||
} else {
|
} else {
|
||||||
/* look for netif further down the list */
|
/* look for netif further down the list */
|
||||||
struct netif *tmp_netif;
|
struct netif *tmp_netif;
|
||||||
for (tmp_netif = netif_list; tmp_netif != NULL; tmp_netif = tmp_netif->next) {
|
NETIF_FOREACH(tmp_netif) {
|
||||||
if (tmp_netif->next == netif) {
|
if (tmp_netif->next == netif) {
|
||||||
tmp_netif->next = netif->next;
|
tmp_netif->next = netif->next;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user