implement wlc call to read wds endpoint mac
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5121 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
1ef87ad52b
commit
1c41869d83
|
@ -644,6 +644,36 @@ static int wlc_wme_ac(wlc_param param, void *data, void *value)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int wlc_ifname(wlc_param param, void *data, void *value)
|
||||
{
|
||||
char *val = (char *) value;
|
||||
int ret = 0;
|
||||
|
||||
if (param & SET) {
|
||||
if (strlen(val) < 16)
|
||||
strcpy(interface, val);
|
||||
else ret = -1;
|
||||
}
|
||||
if (param & GET) {
|
||||
strcpy(val, interface);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int wlc_wdsmac(wlc_param param, void *data, void *value)
|
||||
{
|
||||
static struct ether_addr mac;
|
||||
int ret = 0;
|
||||
|
||||
ret = wl_ioctl(interface, WLC_WDS_GET_REMOTE_HWADDR, &mac, 6);
|
||||
if (ret == 0) {
|
||||
strcpy((char *) value, ether_ntoa(&mac));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct wlc_call wlc_calls[] = {
|
||||
{
|
||||
.name = "version",
|
||||
|
@ -666,6 +696,12 @@ static const struct wlc_call wlc_calls[] = {
|
|||
.data.ptr = &fromstdin,
|
||||
.desc = "Accept input from stdin"
|
||||
},
|
||||
{
|
||||
.name = "ifname",
|
||||
.param = STRING,
|
||||
.handler = wlc_ifname,
|
||||
.desc = "interface to send commands to"
|
||||
},
|
||||
{
|
||||
.name = "up",
|
||||
.param = NOARG,
|
||||
|
@ -956,6 +992,12 @@ static const struct wlc_call wlc_calls[] = {
|
|||
.data.str = "wdstimeout",
|
||||
.desc = "WDS link detection timeout"
|
||||
},
|
||||
{
|
||||
.name = "wdsmac",
|
||||
.param = STRING|NOARG,
|
||||
.handler = wlc_wdsmac,
|
||||
.desc = "MAC of the remote WDS endpoint (only with wds0.* interfaces)"
|
||||
},
|
||||
{
|
||||
.name = "afterburner",
|
||||
.param = INT,
|
||||
|
|
Loading…
Reference in New Issue