diff --git a/drivers/ethernet/eth_slip_tap.c b/drivers/ethernet/eth_slip_tap.c index 8af5f587d7947..537ce74af0ef1 100644 --- a/drivers/ethernet/eth_slip_tap.c +++ b/drivers/ethernet/eth_slip_tap.c @@ -6,7 +6,7 @@ */ #define LOG_MODULE_NAME eth_slip_tap -#define LOG_LEVEL CONFIG_ETHERNET_LOG_LEVEL +#define LOG_LEVEL CONFIG_ETHERNET_LOG_LEVEL #include LOG_MODULE_REGISTER(LOG_MODULE_NAME); @@ -22,19 +22,38 @@ static enum ethernet_hw_caps eth_capabilities(const struct device *dev) return ETHERNET_HW_VLAN #if defined(CONFIG_NET_LLDP) - | ETHERNET_LLDP + | ETHERNET_LLDP +#endif +#if defined(CONFIG_NET_PROMISCUOUS_MODE) + | ETHERNET_PROMISC_MODE #endif ; } +static int eth_slip_tap_set_config(const struct device *dev, enum ethernet_config_type type, + const struct ethernet_config *config) +{ + switch (type) { +#if defined(CONFIG_NET_PROMISCUOUS_MODE) + case ETHERNET_CONFIG_TYPE_PROMISC_MODE: + return 0; +#endif /* CONFIG_NET_PROMISCUOUS_MODE */ + default: + break; + } + + return -ENOTSUP; +} + static const struct ethernet_api slip_if_api = { .iface_api.init = slip_iface_init, .get_capabilities = eth_capabilities, .send = slip_send, + .set_config = eth_slip_tap_set_config, }; -#define _SLIP_L2_LAYER ETHERNET_L2 +#define _SLIP_L2_LAYER ETHERNET_L2 #define _SLIP_L2_CTX_TYPE NET_L2_GET_CTX_TYPE(ETHERNET_L2) ETH_NET_DEVICE_INIT(slip, CONFIG_SLIP_DRV_NAME,