diff options
Diffstat (limited to 'net/ipv4/fib_rules.c')
| -rw-r--r-- | net/ipv4/fib_rules.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c index ca2d07b1c706..76daeb5ff564 100644 --- a/net/ipv4/fib_rules.c +++ b/net/ipv4/fib_rules.c | |||
| @@ -213,7 +213,6 @@ static int fib4_rule_fill(struct fib_rule *rule, struct sk_buff *skb, | |||
| 213 | { | 213 | { |
| 214 | struct fib4_rule *rule4 = (struct fib4_rule *) rule; | 214 | struct fib4_rule *rule4 = (struct fib4_rule *) rule; |
| 215 | 215 | ||
| 216 | frh->family = AF_INET; | ||
| 217 | frh->dst_len = rule4->dst_len; | 216 | frh->dst_len = rule4->dst_len; |
| 218 | frh->src_len = rule4->src_len; | 217 | frh->src_len = rule4->src_len; |
| 219 | frh->tos = rule4->tos; | 218 | frh->tos = rule4->tos; |
| @@ -234,23 +233,6 @@ nla_put_failure: | |||
| 234 | return -ENOBUFS; | 233 | return -ENOBUFS; |
| 235 | } | 234 | } |
| 236 | 235 | ||
| 237 | static u32 fib4_rule_default_pref(struct fib_rules_ops *ops) | ||
| 238 | { | ||
| 239 | struct list_head *pos; | ||
| 240 | struct fib_rule *rule; | ||
| 241 | |||
| 242 | if (!list_empty(&ops->rules_list)) { | ||
| 243 | pos = ops->rules_list.next; | ||
| 244 | if (pos->next != &ops->rules_list) { | ||
| 245 | rule = list_entry(pos->next, struct fib_rule, list); | ||
| 246 | if (rule->pref) | ||
| 247 | return rule->pref - 1; | ||
| 248 | } | ||
| 249 | } | ||
| 250 | |||
| 251 | return 0; | ||
| 252 | } | ||
| 253 | |||
| 254 | static size_t fib4_rule_nlmsg_payload(struct fib_rule *rule) | 236 | static size_t fib4_rule_nlmsg_payload(struct fib_rule *rule) |
| 255 | { | 237 | { |
| 256 | return nla_total_size(4) /* dst */ | 238 | return nla_total_size(4) /* dst */ |
| @@ -263,7 +245,7 @@ static void fib4_rule_flush_cache(struct fib_rules_ops *ops) | |||
| 263 | rt_cache_flush(ops->fro_net, -1); | 245 | rt_cache_flush(ops->fro_net, -1); |
| 264 | } | 246 | } |
| 265 | 247 | ||
| 266 | static struct fib_rules_ops fib4_rules_ops_template = { | 248 | static const struct fib_rules_ops __net_initdata fib4_rules_ops_template = { |
| 267 | .family = AF_INET, | 249 | .family = AF_INET, |
| 268 | .rule_size = sizeof(struct fib4_rule), | 250 | .rule_size = sizeof(struct fib4_rule), |
| 269 | .addr_size = sizeof(u32), | 251 | .addr_size = sizeof(u32), |
| @@ -272,7 +254,7 @@ static struct fib_rules_ops fib4_rules_ops_template = { | |||
| 272 | .configure = fib4_rule_configure, | 254 | .configure = fib4_rule_configure, |
| 273 | .compare = fib4_rule_compare, | 255 | .compare = fib4_rule_compare, |
| 274 | .fill = fib4_rule_fill, | 256 | .fill = fib4_rule_fill, |
| 275 | .default_pref = fib4_rule_default_pref, | 257 | .default_pref = fib_default_rule_pref, |
| 276 | .nlmsg_payload = fib4_rule_nlmsg_payload, | 258 | .nlmsg_payload = fib4_rule_nlmsg_payload, |
| 277 | .flush_cache = fib4_rule_flush_cache, | 259 | .flush_cache = fib4_rule_flush_cache, |
| 278 | .nlgroup = RTNLGRP_IPV4_RULE, | 260 | .nlgroup = RTNLGRP_IPV4_RULE, |
