diff options
-rw-r--r-- | pingu_gateway.c | 9 | ||||
-rw-r--r-- | pingu_gateway.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/pingu_gateway.c b/pingu_gateway.c index c56f282..de9b094 100644 --- a/pingu_gateway.c +++ b/pingu_gateway.c @@ -117,3 +117,12 @@ int is_default_gw(struct pingu_gateway *route) return 0; } +struct pingu_gateway *pingu_gateway_first_default(struct list_head *gateway_list) +{ + struct pingu_gateway *entry; + list_for_each_entry(entry, gateway_list, gateway_list_entry) { + if (is_default_gw(entry)) + return entry; + } + return NULL; +} diff --git a/pingu_gateway.h b/pingu_gateway.h index 9cfea89..b2f424f 100644 --- a/pingu_gateway.h +++ b/pingu_gateway.h @@ -24,7 +24,7 @@ void pingu_gateway_add(struct list_head *gateway_list, void pingu_gateway_del(struct list_head *gateway_list, struct pingu_gateway *gw); int is_default_gw(struct pingu_gateway *route); - +struct pingu_gateway *pingu_gateway_first_default(struct list_head *gateway_list); #endif |