diff options
Diffstat (limited to 'net/decnet/dn_rules.c')
| -rw-r--r-- | net/decnet/dn_rules.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/net/decnet/dn_rules.c b/net/decnet/dn_rules.c index 7466c546f286..48fdf10be7a1 100644 --- a/net/decnet/dn_rules.c +++ b/net/decnet/dn_rules.c | |||
| @@ -196,7 +196,6 @@ static int dn_fib_rule_fill(struct fib_rule *rule, struct sk_buff *skb, | |||
| 196 | { | 196 | { |
| 197 | struct dn_fib_rule *r = (struct dn_fib_rule *)rule; | 197 | struct dn_fib_rule *r = (struct dn_fib_rule *)rule; |
| 198 | 198 | ||
| 199 | frh->family = AF_DECnet; | ||
| 200 | frh->dst_len = r->dst_len; | 199 | frh->dst_len = r->dst_len; |
| 201 | frh->src_len = r->src_len; | 200 | frh->src_len = r->src_len; |
| 202 | frh->tos = 0; | 201 | frh->tos = 0; |
| @@ -212,29 +211,12 @@ nla_put_failure: | |||
| 212 | return -ENOBUFS; | 211 | return -ENOBUFS; |
| 213 | } | 212 | } |
| 214 | 213 | ||
| 215 | static u32 dn_fib_rule_default_pref(struct fib_rules_ops *ops) | ||
| 216 | { | ||
| 217 | struct list_head *pos; | ||
| 218 | struct fib_rule *rule; | ||
| 219 | |||
| 220 | if (!list_empty(&dn_fib_rules_ops->rules_list)) { | ||
| 221 | pos = dn_fib_rules_ops->rules_list.next; | ||
| 222 | if (pos->next != &dn_fib_rules_ops->rules_list) { | ||
| 223 | rule = list_entry(pos->next, struct fib_rule, list); | ||
| 224 | if (rule->pref) | ||
| 225 | return rule->pref - 1; | ||
| 226 | } | ||
| 227 | } | ||
| 228 | |||
| 229 | return 0; | ||
| 230 | } | ||
| 231 | |||
| 232 | static void dn_fib_rule_flush_cache(struct fib_rules_ops *ops) | 214 | static void dn_fib_rule_flush_cache(struct fib_rules_ops *ops) |
| 233 | { | 215 | { |
| 234 | dn_rt_cache_flush(-1); | 216 | dn_rt_cache_flush(-1); |
| 235 | } | 217 | } |
| 236 | 218 | ||
| 237 | static struct fib_rules_ops dn_fib_rules_ops_template = { | 219 | static const struct fib_rules_ops __net_initdata dn_fib_rules_ops_template = { |
| 238 | .family = AF_DECnet, | 220 | .family = AF_DECnet, |
| 239 | .rule_size = sizeof(struct dn_fib_rule), | 221 | .rule_size = sizeof(struct dn_fib_rule), |
| 240 | .addr_size = sizeof(u16), | 222 | .addr_size = sizeof(u16), |
| @@ -243,7 +225,7 @@ static struct fib_rules_ops dn_fib_rules_ops_template = { | |||
| 243 | .configure = dn_fib_rule_configure, | 225 | .configure = dn_fib_rule_configure, |
| 244 | .compare = dn_fib_rule_compare, | 226 | .compare = dn_fib_rule_compare, |
| 245 | .fill = dn_fib_rule_fill, | 227 | .fill = dn_fib_rule_fill, |
| 246 | .default_pref = dn_fib_rule_default_pref, | 228 | .default_pref = fib_default_rule_pref, |
| 247 | .flush_cache = dn_fib_rule_flush_cache, | 229 | .flush_cache = dn_fib_rule_flush_cache, |
| 248 | .nlgroup = RTNLGRP_DECnet_RULE, | 230 | .nlgroup = RTNLGRP_DECnet_RULE, |
| 249 | .policy = dn_fib_rule_policy, | 231 | .policy = dn_fib_rule_policy, |
