Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion board/aarch64/bananapi-bpi-r3/bananapi-bpi-r3.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ define BANANAPI_BPI_R3_LINUX_CONFIG_FIXUPS
$(call KCONFIG_SET_OPT,CONFIG_I2C_GPIO,y)
$(call KCONFIG_SET_OPT,CONFIG_MTK_THERMAL,m)
$(call KCONFIG_ENABLE_OPT,CONFIG_MTK_UART)
$(call KCONFIG_ENABLE_OPT,CONFIG_MTK_WATCHDOG)
$(call KCONFIG_ENABLE_OPT,CONFIG_MEDIATEK_WATCHDOG)
$(call KCONFIG_ENABLE_OPT,CONFIG_MEDIATEK_GE_PHY)
$(call KCONFIG_ENABLE_OPT,CONFIG_REALTEK_PHY)
$(call KCONFIG_ENABLE_OPT,CONFIG_NET_VENDOR_MEDIATEK)
Expand Down
2 changes: 1 addition & 1 deletion package/klish-plugin-sysrepo/klish-plugin-sysrepo.hash
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Locally calculated
sha256 9d9d33b873917ca5d0bdcc47a36d2fd385971ab0c045d1472fcadf95ee5bcf5b LICENCE
sha256 57af0fd9eb59bcabc1ced229dab85b69cde36301e4a66f91c127f2aff73ebb07 klish-plugin-sysrepo-a0f348a2716df805c85f3b5403180fcc7c1b9e8d-git4.tar.gz
sha256 a852daabf76a7bdd22637af23718a8470b89bc3a0e1c2d0ea10d4b6ba3fc4280 klish-plugin-sysrepo-001a2e49e37ae969fb8f2f9cf63155ae4e172946-git4.tar.gz
2 changes: 1 addition & 1 deletion package/klish-plugin-sysrepo/klish-plugin-sysrepo.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
################################################################################

KLISH_PLUGIN_SYSREPO_VERSION = a0f348a2716df805c85f3b5403180fcc7c1b9e8d
KLISH_PLUGIN_SYSREPO_VERSION = 001a2e49e37ae969fb8f2f9cf63155ae4e172946
KLISH_PLUGIN_SYSREPO_SITE = https://github.com/kernelkit/klish-plugin-sysrepo.git
#KLISH_PLUGIN_SYSREPO_VERSION = cdd3eb51a7f7ee0ed5bd925fa636061d3b1b85fb
#KLISH_PLUGIN_SYSREPO_SITE = https://src.libcode.org/pkun/klish-plugin-sysrepo.git
Expand Down
23 changes: 23 additions & 0 deletions patches/hostapd/0001-no-limit-bssid-mask.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index 2406658da..23edf0349 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -949,18 +949,6 @@ skip_mask_ext:
if (!auto_addr)
return 0;

- for (i = 0; i < ETH_ALEN; i++) {
- if ((hapd->own_addr[i] & mask[i]) != hapd->own_addr[i]) {
- wpa_printf(MSG_ERROR, "Invalid BSSID mask " MACSTR
- " for start address " MACSTR ".",
- MAC2STR(mask), MAC2STR(hapd->own_addr));
- wpa_printf(MSG_ERROR, "Start address must be the "
- "first address in the block (i.e., addr "
- "AND mask == addr).");
- return -1;
- }
- }
-
return 0;
}

13 changes: 12 additions & 1 deletion src/confd/src/hardware.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ static int wifi_gen_bss_section(FILE *hostapd, struct lyd_node *cifs, const char
{
const char *ssid, *hidden, *security_mode, *secret_name, *secret;
struct lyd_node *cif, *wifi, *ap, *security, *secret_node;
char bssid[18];

/* Find the interface node for this BSS */
LYX_LIST_FOR_EACH(cifs, cif, "interface") {
Expand All @@ -333,6 +334,10 @@ static int wifi_gen_bss_section(FILE *hostapd, struct lyd_node *cifs, const char
fprintf(hostapd, "\n# BSS %s\n", ifname);
fprintf(hostapd, "bss=%s\n", ifname);

/* Set BSSID if custom MAC is configured */
if (!interface_get_phys_addr(cif, bssid))
fprintf(hostapd, "bssid=%s\n", bssid);

/* SSID configuration */
ssid = lydx_get_cattr(ap, "ssid");
hidden = lydx_get_cattr(ap, "hidden");
Expand Down Expand Up @@ -484,7 +489,13 @@ static int wifi_gen_aps_on_radio(const char *radio_name, struct lyd_node *cifs,

fprintf(hostapd, "interface=%s\n", primary_ifname);
fprintf(hostapd, "driver=nl80211\n");
fprintf(hostapd, "ctrl_interface=/run/hostapd\n\n");
fprintf(hostapd, "ctrl_interface=/run/hostapd\n");

/* Set BSSID if custom MAC is configured */
char bssid[18];
if (!interface_get_phys_addr(primary_cif, bssid))
fprintf(hostapd, "bssid=%s\n", bssid);
fprintf(hostapd, "\n");

fprintf(hostapd, "ssid=%s\n", ssid);
if (hidden && !strcmp(hidden, "true"))
Expand Down
8 changes: 4 additions & 4 deletions src/confd/src/interfaces.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ static int ifchange_cand_infer_type(sr_session_ctx_t *session, const char *path)
goto out;
}

if (!fnmatch("wifi+([0-9])", ifname, FNM_EXTMATCH))
if (!fnmatch("wifi+([0-9])*", ifname, FNM_EXTMATCH))
inferred.data.string_val = "infix-if-type:wifi";
else if (iface_is_phys(ifname))
inferred.data.string_val = "infix-if-type:ethernet";
Expand Down Expand Up @@ -224,7 +224,7 @@ const char *get_chassis_addr(void)
return json_string_value(addr);
}

static int get_phys_addr(struct lyd_node *cif, char *mac)
int interface_get_phys_addr(struct lyd_node *cif, char *mac)
{
struct lyd_node *cpa, *chassis;
const char *base, *offs;
Expand Down Expand Up @@ -255,7 +255,7 @@ int link_gen_address(struct lyd_node *cif, FILE *ip)
char mac[18];
int err;

err = get_phys_addr(cif, mac);
err = interface_get_phys_addr(cif, mac);
if (err)
return err;

Expand All @@ -272,7 +272,7 @@ static int netdag_gen_link_addr(FILE *ip, struct lyd_node *cif, struct lyd_node
if (!lydx_get_child(dif, "custom-phys-address"))
return 0;

err = get_phys_addr(cif, mac);
err = interface_get_phys_addr(cif, mac);
if (err)
return (err == -ENODATA) ? 0 : err;

Expand Down
1 change: 1 addition & 0 deletions src/confd/src/interfaces.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ int netdag_gen_ethtool(struct dagger *net, struct lyd_node *cif, struct lyd_node

/* interfaces.c */
const char *get_chassis_addr(void);
int interface_get_phys_addr(struct lyd_node *cif, char *mac);
int link_gen_address(struct lyd_node *cif, FILE *ip);
int interfaces_get_all_l3(const struct lyd_node *tree, char ***ifaces);

Expand Down
2 changes: 1 addition & 1 deletion src/statd/python/yanger/ietf_interfaces/wifi.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def detect_wifi_mode(ifname):
def find_primary_interface_from_config(ifname):
"""Find primary interface by reading hostapd config files"""
try:
file_list = HOST.run(tuple("ls /etc/hostapd-*.conf".split()), default="")
file_list = HOST.run(("sh", "-c", "ls /etc/hostapd-*.conf"), default="")
if not file_list:
return None

Expand Down