aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pingu_gateway.c9
-rw-r--r--pingu_gateway.h2
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