Messages in this thread Patch in this message | | | Date | Tue, 27 Feb 2024 08:06:35 -0700 | Subject | Re: [PATCH] Net:cache didn't flush when ipv6 rule changed | From | David Ahern <> |
| |
On 2/26/24 6:11 AM, Lena Wang (王娜) wrote:
> diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c > index 7523c4baef35..bec2cf4436e1 100644 > --- a/net/ipv6/fib6_rules.c > +++ b/net/ipv6/fib6_rules.c > @@ -449,6 +449,15 @@ static size_t fib6_rule_nlmsg_payload(struct > fib_rule *rule) > + nla_total_size(16); /* src */ > } > > +static void fib6_rule_flush_cache(struct fib_rules_ops *ops) > +{ > + struct net *net = ops->fro_net; > + if (!net) > + return; > + rt_genid_bump_ipv6(net); > + return; > +}
This can be written as a 1-liner - the same way as the IPv4 flush cache:
static void fib6_rule_flush_cache(struct fib_rules_ops *ops) { rt_genid_bump_ipv6(ops->fro_net); }
> + > static const struct fib_rules_ops __net_initconst > fib6_rules_ops_template = { > .family = AF_INET6, > .rule_size = sizeof(struct fib6_rule), > @@ -461,6 +470,7 @@ static const struct fib_rules_ops __net_initconst > fib6_rules_ops_template = { > .compare = fib6_rule_compare, > .fill = fib6_rule_fill, > .nlmsg_payload = fib6_rule_nlmsg_payload, > + .flush_cache = fib6_rule_flush_cache,
this should be tabs and the columns should align with existing code.
> .nlgroup = RTNLGRP_IPV6_RULE, > .owner = THIS_MODULE, > .fro_net = &init_net, > -- > 2.18.0
| |