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)