diff options
Diffstat (limited to 'proto/radv')
-rw-r--r-- | proto/radv/radv.c | 7 | ||||
-rw-r--r-- | proto/radv/radv.h | 3 |
2 files changed, 3 insertions, 7 deletions
diff --git a/proto/radv/radv.c b/proto/radv/radv.c index 6370e006..2de89991 100644 --- a/proto/radv/radv.c +++ b/proto/radv/radv.c @@ -258,9 +258,7 @@ radv_ifa_notify(struct proto *p, unsigned flags, struct ifa *a) static inline int radv_net_match_trigger(struct radv_config *cf, net *n) { - return cf->trigger_valid && - (n->n.pxlen == cf->trigger_pxlen) && - ipa_equal(n->n.prefix, cf->trigger_prefix); + return cf->trigger_valid && net_equal(n->n.addr, cf->trigger); } int @@ -306,8 +304,7 @@ radv_check_active(struct proto_radv *ra) if (! cf->trigger_valid) return 1; - return rt_examine(ra->p.table, cf->trigger_prefix, cf->trigger_pxlen, - &(ra->p), ra->p.cf->out_filter); + return rt_examine(ra->p.table, cf->trigger, &ra->p, ra->p.cf->out_filter); } static struct proto * diff --git a/proto/radv/radv.h b/proto/radv/radv.h index 48ba9c1a..aede6a67 100644 --- a/proto/radv/radv.h +++ b/proto/radv/radv.h @@ -50,8 +50,7 @@ struct radv_config list rdnss_list; /* Global list of RDNSS configs (struct radv_rdnss_config) */ list dnssl_list; /* Global list of DNSSL configs (struct radv_dnssl_config) */ - ip_addr trigger_prefix; /* Prefix of a trigger route, if defined */ - u8 trigger_pxlen; /* Pxlen of a trigger route, if defined */ + net_addr *trigger; /* Prefix of a trigger route, if defined */ u8 trigger_valid; /* Whether a trigger route is defined */ }; |