diff options
author | Maria Matejka <mq@ucw.cz> | 2022-10-04 15:53:12 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2022-10-04 15:53:12 +0200 |
commit | 4e1c582caddb6876b9fcbdc29b8bad5ab0b09ee7 (patch) | |
tree | c46d8e5337bc12ec01e3d91b9c2f5f6dd61eb8ad /filter | |
parent | becca314e2546d6005a23398ce2d3012d4b396cb (diff) | |
parent | 71b434a987067475b517792360f58dbe03bfee9e (diff) |
Merge commit '71b434a9' into HEAD
Diffstat (limited to 'filter')
-rw-r--r-- | filter/f-inst.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/filter/f-inst.c b/filter/f-inst.c index fff93517..60042476 100644 --- a/filter/f-inst.c +++ b/filter/f-inst.c @@ -692,7 +692,7 @@ switch (sa.sa_code) { case SA_NET: RESULT(sa.type, net, fs->rte->net); break; - case SA_PROTO: RESULT(sa.type, s, fs->rte->src->proto->name); break; + case SA_PROTO: RESULT(sa.type, s, fs->rte->src->owner->name); break; default: { struct eattr *nhea = ea_find(*fs->eattrs, &ea_gen_nexthop); @@ -771,7 +771,8 @@ struct iface *ifa = (ipa_is_link_local(ip) && nh_ea) ? ((struct nexthop_adata *) nh_ea->u.ptr)->nh.iface : NULL; - neighbor *n = neigh_find(fs->rte->src->proto, ip, ifa, 0); + /* XXX this code supposes that every owner is a protocol XXX */ + neighbor *n = neigh_find(SKIP_BACK(struct proto, sources, fs->rte->src->owner), ip, ifa, 0); if (!n || (n->scope == SCOPE_HOST)) runtime( "Invalid gw address" ); |