|
@@ -276,11 +276,13 @@ static int red_dump_offload(struct Qdisc *sch, struct tc_red_qopt *opt)
|
|
{
|
|
{
|
|
struct net_device *dev = qdisc_dev(sch);
|
|
struct net_device *dev = qdisc_dev(sch);
|
|
struct tc_red_qopt_offload hw_stats = {
|
|
struct tc_red_qopt_offload hw_stats = {
|
|
|
|
+ .command = TC_RED_STATS,
|
|
.handle = sch->handle,
|
|
.handle = sch->handle,
|
|
.parent = sch->parent,
|
|
.parent = sch->parent,
|
|
- .command = TC_RED_STATS,
|
|
|
|
- .stats.bstats = &sch->bstats,
|
|
|
|
- .stats.qstats = &sch->qstats,
|
|
|
|
|
|
+ {
|
|
|
|
+ .stats.bstats = &sch->bstats,
|
|
|
|
+ .stats.qstats = &sch->qstats,
|
|
|
|
+ },
|
|
};
|
|
};
|
|
int err;
|
|
int err;
|
|
|
|
|
|
@@ -346,10 +348,12 @@ static int red_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
|
|
if (tc_can_offload(dev) && dev->netdev_ops->ndo_setup_tc) {
|
|
if (tc_can_offload(dev) && dev->netdev_ops->ndo_setup_tc) {
|
|
struct red_stats hw_stats = {0};
|
|
struct red_stats hw_stats = {0};
|
|
struct tc_red_qopt_offload hw_stats_request = {
|
|
struct tc_red_qopt_offload hw_stats_request = {
|
|
|
|
+ .command = TC_RED_XSTATS,
|
|
.handle = sch->handle,
|
|
.handle = sch->handle,
|
|
.parent = sch->parent,
|
|
.parent = sch->parent,
|
|
- .command = TC_RED_XSTATS,
|
|
|
|
- .xstats = &hw_stats,
|
|
|
|
|
|
+ {
|
|
|
|
+ .xstats = &hw_stats,
|
|
|
|
+ },
|
|
};
|
|
};
|
|
if (!dev->netdev_ops->ndo_setup_tc(dev,
|
|
if (!dev->netdev_ops->ndo_setup_tc(dev,
|
|
TC_SETUP_QDISC_RED,
|
|
TC_SETUP_QDISC_RED,
|