[][Add macsec HW offload backport from kernel 5.18]
[Description]
Add macsec HW offload backport from kernel 5.18.
[Release-log]
N/A
Change-Id: I5b143fe620ec4bcae4075d1d85db5e41c8d48717
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/5981730
diff --git a/target/linux/mediatek/patches-5.4/999-1753-03-v5.18-net-macsec-introduce-MACsec-ops.patch b/target/linux/mediatek/patches-5.4/999-1753-03-v5.18-net-macsec-introduce-MACsec-ops.patch
new file mode 100644
index 0000000..1681b74
--- /dev/null
+++ b/target/linux/mediatek/patches-5.4/999-1753-03-v5.18-net-macsec-introduce-MACsec-ops.patch
@@ -0,0 +1,50 @@
+From 0830e20b62ad156f7df5ff5b9c4cea280ebe8fef Mon Sep 17 00:00:00 2001
+From: Antoine Tenart <antoine.tenart@bootlin.com>
+Date: Mon, 13 Jan 2020 23:31:41 +0100
+Subject: net: macsec: introduce MACsec ops
+
+This patch introduces MACsec ops for drivers to support offloading
+MACsec operations.
+
+Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ include/net/macsec.h | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/include/net/macsec.h b/include/net/macsec.h
+index 0b98803f92ec1..16e7e5061178e 100644
+--- a/include/net/macsec.h
++++ b/include/net/macsec.h
+@@ -195,4 +195,28 @@ struct macsec_context {
+ u8 prepare:1;
+ };
+
++/**
++ * struct macsec_ops - MACsec offloading operations
++ */
++struct macsec_ops {
++ /* Device wide */
++ int (*mdo_dev_open)(struct macsec_context *ctx);
++ int (*mdo_dev_stop)(struct macsec_context *ctx);
++ /* SecY */
++ int (*mdo_add_secy)(struct macsec_context *ctx);
++ int (*mdo_upd_secy)(struct macsec_context *ctx);
++ int (*mdo_del_secy)(struct macsec_context *ctx);
++ /* Security channels */
++ int (*mdo_add_rxsc)(struct macsec_context *ctx);
++ int (*mdo_upd_rxsc)(struct macsec_context *ctx);
++ int (*mdo_del_rxsc)(struct macsec_context *ctx);
++ /* Security associations */
++ int (*mdo_add_rxsa)(struct macsec_context *ctx);
++ int (*mdo_upd_rxsa)(struct macsec_context *ctx);
++ int (*mdo_del_rxsa)(struct macsec_context *ctx);
++ int (*mdo_add_txsa)(struct macsec_context *ctx);
++ int (*mdo_upd_txsa)(struct macsec_context *ctx);
++ int (*mdo_del_txsa)(struct macsec_context *ctx);
++};
++
+ #endif /* _NET_MACSEC_H_ */
+--
+cgit 1.2.3-1.el7
+