aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/fib6_rules.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/fib6_rules.c')
-rw-r--r--net/ipv6/fib6_rules.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c
index ee4aa43ad973..2fbc71d90187 100644
--- a/net/ipv6/fib6_rules.c
+++ b/net/ipv6/fib6_rules.c
@@ -129,7 +129,7 @@ static int fib6_rule_match(struct fib_rule *rule, struct flowi *fl, int flags)
129 return 0; 129 return 0;
130 130
131#ifdef CONFIG_IPV6_ROUTE_FWMARK 131#ifdef CONFIG_IPV6_ROUTE_FWMARK
132 if ((r->fwmark ^ fl->fl6_fwmark) / r->fwmask) 132 if ((r->fwmark ^ fl->fl6_fwmark) & r->fwmask)
133 return 0; 133 return 0;
134#endif 134#endif
135 135
@@ -256,7 +256,7 @@ static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb,
256 if (rule6->fwmark) 256 if (rule6->fwmark)
257 NLA_PUT_U32(skb, FRA_FWMARK, rule6->fwmark); 257 NLA_PUT_U32(skb, FRA_FWMARK, rule6->fwmark);
258 258
259 if (rule6->fwmask) 259 if (rule6->fwmask || rule6->fwmark)
260 NLA_PUT_U32(skb, FRA_FWMASK, rule6->fwmask); 260 NLA_PUT_U32(skb, FRA_FWMASK, rule6->fwmask);
261#endif 261#endif
262 262