|
@@ -434,7 +434,7 @@ static void u32_remove_hw_knode(struct tcf_proto *tp, u32 handle)
|
|
|
offload.type = TC_SETUP_CLSU32;
|
|
|
offload.cls_u32 = &u32_offload;
|
|
|
|
|
|
- if (dev->netdev_ops->ndo_setup_tc) {
|
|
|
+ if (tc_should_offload(dev)) {
|
|
|
offload.cls_u32->command = TC_CLSU32_DELETE_KNODE;
|
|
|
offload.cls_u32->knode.handle = handle;
|
|
|
dev->netdev_ops->ndo_setup_tc(dev, tp->q->handle,
|
|
@@ -451,7 +451,7 @@ static void u32_replace_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h)
|
|
|
offload.type = TC_SETUP_CLSU32;
|
|
|
offload.cls_u32 = &u32_offload;
|
|
|
|
|
|
- if (dev->netdev_ops->ndo_setup_tc) {
|
|
|
+ if (tc_should_offload(dev)) {
|
|
|
offload.cls_u32->command = TC_CLSU32_NEW_HNODE;
|
|
|
offload.cls_u32->hnode.divisor = h->divisor;
|
|
|
offload.cls_u32->hnode.handle = h->handle;
|
|
@@ -471,7 +471,7 @@ static void u32_clear_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h)
|
|
|
offload.type = TC_SETUP_CLSU32;
|
|
|
offload.cls_u32 = &u32_offload;
|
|
|
|
|
|
- if (dev->netdev_ops->ndo_setup_tc) {
|
|
|
+ if (tc_should_offload(dev)) {
|
|
|
offload.cls_u32->command = TC_CLSU32_DELETE_HNODE;
|
|
|
offload.cls_u32->hnode.divisor = h->divisor;
|
|
|
offload.cls_u32->hnode.handle = h->handle;
|
|
@@ -491,7 +491,7 @@ static void u32_replace_hw_knode(struct tcf_proto *tp, struct tc_u_knode *n)
|
|
|
offload.type = TC_SETUP_CLSU32;
|
|
|
offload.cls_u32 = &u32_offload;
|
|
|
|
|
|
- if (dev->netdev_ops->ndo_setup_tc) {
|
|
|
+ if (tc_should_offload(dev)) {
|
|
|
offload.cls_u32->command = TC_CLSU32_REPLACE_KNODE;
|
|
|
offload.cls_u32->knode.handle = n->handle;
|
|
|
offload.cls_u32->knode.fshift = n->fshift;
|