diff options
Diffstat (limited to 'net/sched/cls_api.c')
| -rw-r--r-- | net/sched/cls_api.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 36b72aab1bde..5f0fbca7393f 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
| @@ -458,11 +458,6 @@ tcf_exts_destroy(struct tcf_proto *tp, struct tcf_exts *exts) | |||
| 458 | tcf_action_destroy(exts->action, TCA_ACT_UNBIND); | 458 | tcf_action_destroy(exts->action, TCA_ACT_UNBIND); |
| 459 | exts->action = NULL; | 459 | exts->action = NULL; |
| 460 | } | 460 | } |
| 461 | #elif defined CONFIG_NET_CLS_POLICE | ||
| 462 | if (exts->police) { | ||
| 463 | tcf_police_release(exts->police, TCA_ACT_UNBIND); | ||
| 464 | exts->police = NULL; | ||
| 465 | } | ||
| 466 | #endif | 461 | #endif |
| 467 | } | 462 | } |
| 468 | 463 | ||
| @@ -496,17 +491,6 @@ tcf_exts_validate(struct tcf_proto *tp, struct rtattr **tb, | |||
| 496 | exts->action = act; | 491 | exts->action = act; |
| 497 | } | 492 | } |
| 498 | } | 493 | } |
| 499 | #elif defined CONFIG_NET_CLS_POLICE | ||
| 500 | if (map->police && tb[map->police-1]) { | ||
| 501 | struct tcf_police *p; | ||
| 502 | |||
| 503 | p = tcf_police_locate(tb[map->police-1], rate_tlv); | ||
| 504 | if (p == NULL) | ||
| 505 | return -EINVAL; | ||
| 506 | |||
| 507 | exts->police = p; | ||
| 508 | } else if (map->action && tb[map->action-1]) | ||
| 509 | return -EOPNOTSUPP; | ||
| 510 | #else | 494 | #else |
| 511 | if ((map->action && tb[map->action-1]) || | 495 | if ((map->action && tb[map->action-1]) || |
| 512 | (map->police && tb[map->police-1])) | 496 | (map->police && tb[map->police-1])) |
| @@ -529,15 +513,6 @@ tcf_exts_change(struct tcf_proto *tp, struct tcf_exts *dst, | |||
| 529 | if (act) | 513 | if (act) |
| 530 | tcf_action_destroy(act, TCA_ACT_UNBIND); | 514 | tcf_action_destroy(act, TCA_ACT_UNBIND); |
| 531 | } | 515 | } |
| 532 | #elif defined CONFIG_NET_CLS_POLICE | ||
| 533 | if (src->police) { | ||
| 534 | struct tcf_police *p; | ||
| 535 | tcf_tree_lock(tp); | ||
| 536 | p = xchg(&dst->police, src->police); | ||
| 537 | tcf_tree_unlock(tp); | ||
| 538 | if (p) | ||
| 539 | tcf_police_release(p, TCA_ACT_UNBIND); | ||
| 540 | } | ||
| 541 | #endif | 516 | #endif |
| 542 | } | 517 | } |
| 543 | 518 | ||
| @@ -566,17 +541,6 @@ tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts, | |||
| 566 | p_rta->rta_len = skb_tail_pointer(skb) - (u8 *)p_rta; | 541 | p_rta->rta_len = skb_tail_pointer(skb) - (u8 *)p_rta; |
| 567 | } | 542 | } |
| 568 | } | 543 | } |
| 569 | #elif defined CONFIG_NET_CLS_POLICE | ||
| 570 | if (map->police && exts->police) { | ||
| 571 | struct rtattr *p_rta = (struct rtattr *)skb_tail_pointer(skb); | ||
| 572 | |||
| 573 | RTA_PUT(skb, map->police, 0, NULL); | ||
| 574 | |||
| 575 | if (tcf_police_dump(skb, exts->police) < 0) | ||
| 576 | goto rtattr_failure; | ||
| 577 | |||
| 578 | p_rta->rta_len = skb_tail_pointer(skb) - (u8 *)p_rta; | ||
| 579 | } | ||
| 580 | #endif | 544 | #endif |
| 581 | return 0; | 545 | return 0; |
| 582 | rtattr_failure: __attribute__ ((unused)) | 546 | rtattr_failure: __attribute__ ((unused)) |
| @@ -591,10 +555,6 @@ tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts, | |||
| 591 | if (exts->action) | 555 | if (exts->action) |
| 592 | if (tcf_action_copy_stats(skb, exts->action, 1) < 0) | 556 | if (tcf_action_copy_stats(skb, exts->action, 1) < 0) |
| 593 | goto rtattr_failure; | 557 | goto rtattr_failure; |
| 594 | #elif defined CONFIG_NET_CLS_POLICE | ||
| 595 | if (exts->police) | ||
| 596 | if (tcf_police_dump_stats(skb, exts->police) < 0) | ||
| 597 | goto rtattr_failure; | ||
| 598 | #endif | 558 | #endif |
| 599 | return 0; | 559 | return 0; |
| 600 | rtattr_failure: __attribute__ ((unused)) | 560 | rtattr_failure: __attribute__ ((unused)) |
