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)) |