act_ife.c (b409074e6693bcdaa7abbee2a035f22a9eabda53) | act_ife.c (4e8ddd7f1758ca4ddd0c1f7cf3e66fce736241d2) |
---|---|
1/* 2 * net/sched/ife.c Inter-FE action based on ForCES WG InterFE LFB 3 * 4 * Refer to: 5 * draft-ietf-forces-interfelfb-03 6 * and 7 * netdev01 paper: 8 * "Distributing Linux Traffic Control Classifier-Action --- 484 unchanged lines hidden (view full) --- 493 if (!exists) { 494 ret = tcf_idr_create(tn, parm->index, est, a, &act_ife_ops, 495 bind, true); 496 if (ret) { 497 kfree(p); 498 return ret; 499 } 500 ret = ACT_P_CREATED; | 1/* 2 * net/sched/ife.c Inter-FE action based on ForCES WG InterFE LFB 3 * 4 * Refer to: 5 * draft-ietf-forces-interfelfb-03 6 * and 7 * netdev01 paper: 8 * "Distributing Linux Traffic Control Classifier-Action --- 484 unchanged lines hidden (view full) --- 493 if (!exists) { 494 ret = tcf_idr_create(tn, parm->index, est, a, &act_ife_ops, 495 bind, true); 496 if (ret) { 497 kfree(p); 498 return ret; 499 } 500 ret = ACT_P_CREATED; |
501 } else { | 501 } else if (!ovr) { |
502 tcf_idr_release(*a, bind); | 502 tcf_idr_release(*a, bind); |
503 if (!ovr) { 504 kfree(p); 505 return -EEXIST; 506 } | 503 kfree(p); 504 return -EEXIST; |
507 } 508 509 ife = to_ife(*a); 510 p->flags = parm->flags; 511 512 if (parm->flags & IFE_ENCODE) { 513 if (tb[TCA_IFE_TYPE]) 514 ife_type = nla_get_u16(tb[TCA_IFE_TYPE]); --- 28 unchanged lines hidden (view full) --- 543 NULL, NULL); 544 if (err) { 545metadata_parse_err: 546 if (ret == ACT_P_CREATED) 547 tcf_idr_release(*a, bind); 548 549 if (exists) 550 spin_unlock_bh(&ife->tcf_lock); | 505 } 506 507 ife = to_ife(*a); 508 p->flags = parm->flags; 509 510 if (parm->flags & IFE_ENCODE) { 511 if (tb[TCA_IFE_TYPE]) 512 ife_type = nla_get_u16(tb[TCA_IFE_TYPE]); --- 28 unchanged lines hidden (view full) --- 541 NULL, NULL); 542 if (err) { 543metadata_parse_err: 544 if (ret == ACT_P_CREATED) 545 tcf_idr_release(*a, bind); 546 547 if (exists) 548 spin_unlock_bh(&ife->tcf_lock); |
549 tcf_idr_release(*a, bind); 550 |
|
551 kfree(p); 552 return err; 553 } 554 555 err = populate_metalist(ife, tb2, exists); 556 if (err) 557 goto metadata_parse_err; 558 --- 344 unchanged lines hidden --- | 551 kfree(p); 552 return err; 553 } 554 555 err = populate_metalist(ife, tb2, exists); 556 if (err) 557 goto metadata_parse_err; 558 --- 344 unchanged lines hidden --- |