summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2020-03-05 14:03:32 -0800
committerDavid S. Miller <davem@davemloft.net>2020-03-05 14:03:32 -0800
commit6349021701d0ba2e84e2be440258d81e198c3392 (patch)
treec0f9107bbf2661d7a317bce4e6a6c9d53aa11664 /include
parentf3588909c18553e0a9d69fc7832a606681f59048 (diff)
parentb9b72999eb86e650489a4321c8e95a4e2e3df20c (diff)
downloadlinux-6349021701d0ba2e84e2be440258d81e198c3392.tar.gz
linux-6349021701d0ba2e84e2be440258d81e198c3392.zip
Merge branch 'mlxsw-Offload-FIFO'
Ido Schimmel says: ==================== mlxsw: Offload FIFO Petr says: If an ETS or PRIO band contains an offloaded qdisc, it is possible to obtain offloaded counters for that band. However, some of the bands will likely simply contain the default invisible FIFO qdisc, which does not present the counters. To remedy this situation, make FIFO offloadable, and offload it by mlxsw when below PRIO and ETS for the sole purpose of providing counters for the bands that do not include other qdiscs. - In patch #1, FIFO is extended to support offloading. - Patches #2 and #3 restructure bits of mlxsw to facilitate the offload logic. - Patch #4 then implements the offload itself. - Patch #5 changes the ETS selftest to use the new counters. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--include/net/pkt_cls.h15
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index b6fedd54cd8e..654808bfad83 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -853,6 +853,7 @@ enum tc_setup_type {
TC_SETUP_FT,
TC_SETUP_QDISC_ETS,
TC_SETUP_QDISC_TBF,
+ TC_SETUP_QDISC_FIFO,
};
/* These structures hold the attributes of bpf state that are being passed
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 53946b509b51..341a66af8d59 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -881,4 +881,19 @@ struct tc_tbf_qopt_offload {
};
};
+enum tc_fifo_command {
+ TC_FIFO_REPLACE,
+ TC_FIFO_DESTROY,
+ TC_FIFO_STATS,
+};
+
+struct tc_fifo_qopt_offload {
+ enum tc_fifo_command command;
+ u32 handle;
+ u32 parent;
+ union {
+ struct tc_qopt_offload_stats stats;
+ };
+};
+
#endif