net: dummy L2 for offloaded ifaces

Adds dummy link layer for offloaded ifaces, allowing
ifaces to directly receive l2_enable calls

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
diff --git a/drivers/modem/hl7800.c b/drivers/modem/hl7800.c
index 792f0c8..c80787e 100644
--- a/drivers/modem/hl7800.c
+++ b/drivers/modem/hl7800.c
@@ -29,6 +29,7 @@
 #include <zephyr/net/net_offload.h>
 #include <zephyr/net/net_pkt.h>
 #include <zephyr/net/dns_resolve.h>
+#include <zephyr/net/offloaded_netdev.h>
 #if defined(CONFIG_NET_IPV6)
 #include "ipv6.h"
 #endif
@@ -6424,8 +6425,8 @@
 	}
 }
 
-static struct net_if_api api_funcs = {
-	.init = offload_iface_init,
+static struct offloaded_if_api api_funcs = {
+	.iface_api.init = offload_iface_init,
 };
 
 NET_DEVICE_DT_INST_OFFLOAD_DEFINE(0, hl7800_init, NULL, &ictx,
diff --git a/drivers/modem/quectel-bg9x.c b/drivers/modem/quectel-bg9x.c
index 75d49c4..40baa2c 100644
--- a/drivers/modem/quectel-bg9x.c
+++ b/drivers/modem/quectel-bg9x.c
@@ -1096,8 +1096,8 @@
 	net_if_socket_offload_set(iface, offload_socket);
 }
 
-static struct net_if_api api_funcs = {
-	.init = modem_net_iface_init,
+static struct offloaded_if_api api_funcs = {
+	.iface_api.init = modem_net_iface_init,
 };
 
 static bool offload_is_supported(int family, int type, int proto)
diff --git a/drivers/modem/quectel-bg9x.h b/drivers/modem/quectel-bg9x.h
index a4541b0..899f1ec 100644
--- a/drivers/modem/quectel-bg9x.h
+++ b/drivers/modem/quectel-bg9x.h
@@ -15,6 +15,7 @@
 #include <zephyr/init.h>
 
 #include <zephyr/net/net_if.h>
+#include <zephyr/net/offloaded_netdev.h>
 #include <zephyr/net/net_offload.h>
 #include <zephyr/net/socket_offload.h>
 
diff --git a/drivers/modem/simcom-sim7080.c b/drivers/modem/simcom-sim7080.c
index f92a885..a9256d9 100644
--- a/drivers/modem/simcom-sim7080.c
+++ b/drivers/modem/simcom-sim7080.c
@@ -7,6 +7,7 @@
 #define DT_DRV_COMPAT simcom_sim7080
 
 #include <zephyr/logging/log.h>
+#include <zephyr/net/offloaded_netdev.h>
 LOG_MODULE_REGISTER(modem_simcom_sim7080, CONFIG_MODEM_LOG_LEVEL);
 
 #include <zephyr/drivers/modem/simcom-sim7080.h>
@@ -760,8 +761,8 @@
 	.freeaddrinfo = offload_freeaddrinfo,
 };
 
-static struct net_if_api api_funcs = {
-	.init = modem_net_iface_init,
+static struct offloaded_if_api api_funcs = {
+	.iface_api.init = modem_net_iface_init,
 };
 
 static bool offload_is_supported(int family, int type, int proto)
diff --git a/drivers/modem/ublox-sara-r4.c b/drivers/modem/ublox-sara-r4.c
index d1f3216..2958783 100644
--- a/drivers/modem/ublox-sara-r4.c
+++ b/drivers/modem/ublox-sara-r4.c
@@ -19,6 +19,7 @@
 
 #include <zephyr/net/net_if.h>
 #include <zephyr/net/net_offload.h>
+#include <zephyr/net/offloaded_netdev.h>
 #include <zephyr/net/socket_offload.h>
 
 #if defined(CONFIG_MODEM_UBLOX_SARA_AUTODETECT_APN)
@@ -2103,8 +2104,8 @@
 	net_if_socket_offload_set(iface, offload_socket);
 }
 
-static struct net_if_api api_funcs = {
-	.init = modem_net_iface_init,
+static struct offloaded_if_api api_funcs = {
+	.iface_api.init = modem_net_iface_init,
 };
 
 static const struct modem_cmd response_cmds[] = {
diff --git a/drivers/modem/wncm14a2a.c b/drivers/modem/wncm14a2a.c
index ca805a1..1dc0a73 100644
--- a/drivers/modem/wncm14a2a.c
+++ b/drivers/modem/wncm14a2a.c
@@ -25,6 +25,7 @@
 #include <zephyr/net/net_context.h>
 #include <zephyr/net/net_if.h>
 #include <zephyr/net/net_offload.h>
+#include <zephyr/net/offloaded_netdev.h>
 #include <zephyr/net/net_pkt.h>
 #if defined(CONFIG_NET_IPV6)
 #include "ipv6.h"
@@ -1773,8 +1774,8 @@
 	ctx->iface = iface;
 }
 
-static struct net_if_api api_funcs = {
-	.init	= offload_iface_init,
+static struct offloaded_if_api api_funcs = {
+	.iface_api.init = offload_iface_init,
 };
 
 NET_DEVICE_DT_INST_OFFLOAD_DEFINE(0, wncm14a2a_init, NULL,
diff --git a/drivers/wifi/esp_at/esp.c b/drivers/wifi/esp_at/esp.c
index 4236c91..b1dcd9d 100644
--- a/drivers/wifi/esp_at/esp.c
+++ b/drivers/wifi/esp_at/esp.c
@@ -1217,13 +1217,13 @@
 }
 
 static const struct net_wifi_mgmt_offload esp_api = {
-	.wifi_iface.init = esp_iface_init,
-	.scan		= esp_mgmt_scan,
-	.connect	= esp_mgmt_connect,
-	.disconnect	= esp_mgmt_disconnect,
-	.ap_enable	= esp_mgmt_ap_enable,
-	.ap_disable	= esp_mgmt_ap_disable,
-	.iface_status	= esp_mgmt_iface_status,
+	.wifi_iface.iface_api.init = esp_iface_init,
+	.scan			   = esp_mgmt_scan,
+	.connect		   = esp_mgmt_connect,
+	.disconnect		   = esp_mgmt_disconnect,
+	.ap_enable		   = esp_mgmt_ap_enable,
+	.ap_disable		   = esp_mgmt_ap_disable,
+	.iface_status		   = esp_mgmt_iface_status,
 };
 
 static int esp_init(const struct device *dev);
diff --git a/drivers/wifi/eswifi/eswifi_core.c b/drivers/wifi/eswifi/eswifi_core.c
index b6960ff..79e403c 100644
--- a/drivers/wifi/eswifi/eswifi_core.c
+++ b/drivers/wifi/eswifi/eswifi_core.c
@@ -679,12 +679,12 @@
 }
 
 static const struct net_wifi_mgmt_offload eswifi_offload_api = {
-	.wifi_iface.init = eswifi_iface_init,
-	.scan		= eswifi_mgmt_scan,
-	.connect	= eswifi_mgmt_connect,
-	.disconnect	= eswifi_mgmt_disconnect,
-	.ap_enable	= eswifi_mgmt_ap_enable,
-	.ap_disable	= eswifi_mgmt_ap_disable,
+	.wifi_iface.iface_api.init = eswifi_iface_init,
+	.scan			   = eswifi_mgmt_scan,
+	.connect		   = eswifi_mgmt_connect,
+	.disconnect		   = eswifi_mgmt_disconnect,
+	.ap_enable		   = eswifi_mgmt_ap_enable,
+	.ap_disable		   = eswifi_mgmt_ap_disable,
 };
 
 NET_DEVICE_DT_INST_OFFLOAD_DEFINE(0, eswifi_init, NULL,
diff --git a/drivers/wifi/simplelink/simplelink.c b/drivers/wifi/simplelink/simplelink.c
index a60ac99..b75329e 100644
--- a/drivers/wifi/simplelink/simplelink.c
+++ b/drivers/wifi/simplelink/simplelink.c
@@ -264,10 +264,10 @@
 }
 
 static const struct net_wifi_mgmt_offload simplelink_api = {
-	.wifi_iface.init = simplelink_iface_init,
-	.scan		= simplelink_mgmt_scan,
-	.connect	= simplelink_mgmt_connect,
-	.disconnect	= simplelink_mgmt_disconnect,
+	.wifi_iface.iface_api.init = simplelink_iface_init,
+	.scan			   = simplelink_mgmt_scan,
+	.connect		   = simplelink_mgmt_connect,
+	.disconnect		   = simplelink_mgmt_disconnect,
 };
 
 static int simplelink_init(const struct device *dev)
diff --git a/drivers/wifi/winc1500/wifi_winc1500.c b/drivers/wifi/winc1500/wifi_winc1500.c
index 94049a9..329e18a 100644
--- a/drivers/wifi/winc1500/wifi_winc1500.c
+++ b/drivers/wifi/winc1500/wifi_winc1500.c
@@ -1100,12 +1100,12 @@
 }
 
 static const struct net_wifi_mgmt_offload winc1500_api = {
-	.wifi_iface.init = winc1500_iface_init,
-	.scan		= winc1500_mgmt_scan,
-	.connect	= winc1500_mgmt_connect,
-	.disconnect	= winc1500_mgmt_disconnect,
-	.ap_enable	= winc1500_mgmt_ap_enable,
-	.ap_disable	= winc1500_mgmt_ap_disable,
+	.wifi_iface.iface_api.init = winc1500_iface_init,
+	.scan			   = winc1500_mgmt_scan,
+	.connect		   = winc1500_mgmt_connect,
+	.disconnect		   = winc1500_mgmt_disconnect,
+	.ap_enable		   = winc1500_mgmt_ap_enable,
+	.ap_disable		   = winc1500_mgmt_ap_disable,
 };
 
 static int winc1500_init(const struct device *dev)