map: add debug-code for mapcalc

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46763
This commit is contained in:
Steven Barth 2015-09-01 18:48:22 +00:00
parent 37160e21bb
commit 7e009c1598
2 changed files with 25 additions and 15 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=map PKG_NAME:=map
PKG_VERSION:=4 PKG_VERSION:=4
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View file

@ -157,6 +157,8 @@ enum {
OPT_PSID, OPT_PSID,
OPT_BR, OPT_BR,
OPT_DMR, OPT_DMR,
OPT_PD,
OPT_PDLEN,
OPT_MAX OPT_MAX
}; };
@ -173,6 +175,8 @@ static char *const token[] = {
[OPT_PSID] = "psid", [OPT_PSID] = "psid",
[OPT_BR] = "br", [OPT_BR] = "br",
[OPT_DMR] = "dmr", [OPT_DMR] = "dmr",
[OPT_PD] = "pd",
[OPT_PDLEN] = "pdlen",
[OPT_MAX] = NULL [OPT_MAX] = NULL
}; };
@ -239,10 +243,14 @@ int main(int argc, char *argv[])
// dummy // dummy
} else if (idx == OPT_IPV6PREFIX && inet_pton(AF_INET6, value, &ipv6prefix) == 1) { } else if (idx == OPT_IPV6PREFIX && inet_pton(AF_INET6, value, &ipv6prefix) == 1) {
// dummy // dummy
} else if (idx == OPT_PD && inet_pton(AF_INET6, value, &pd) == 1) {
// dummy
} else if (idx == OPT_OFFSET && (intval = strtoul(value, NULL, 0)) <= 16 && !errno) { } else if (idx == OPT_OFFSET && (intval = strtoul(value, NULL, 0)) <= 16 && !errno) {
offset = intval; offset = intval;
} else if (idx == OPT_PSIDLEN && (intval = strtoul(value, NULL, 0)) <= 16 && !errno) { } else if (idx == OPT_PSIDLEN && (intval = strtoul(value, NULL, 0)) <= 16 && !errno) {
psidlen = intval; psidlen = intval;
} else if (idx == OPT_PDLEN && (intval = strtoul(value, NULL, 0)) <= 128 && !errno) {
pdlen = intval;
} else if (idx == OPT_PSID && (intval = strtoul(value, NULL, 0)) <= 65535 && !errno) { } else if (idx == OPT_PSID && (intval = strtoul(value, NULL, 0)) <= 65535 && !errno) {
psid = intval; psid = intval;
} else if (idx == OPT_DMR) { } else if (idx == OPT_DMR) {
@ -270,24 +278,26 @@ int main(int argc, char *argv[])
} }
// Find PD // Find PD
struct blob_attr *c; if (pdlen < 0) {
unsigned rem; struct blob_attr *c;
blobmsg_for_each_attr(c, dump, rem) { unsigned rem;
struct blob_attr *tb[IFACE_ATTR_MAX]; blobmsg_for_each_attr(c, dump, rem) {
blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb, blobmsg_data(c), blobmsg_data_len(c)); struct blob_attr *tb[IFACE_ATTR_MAX];
blobmsg_parse(iface_attrs, IFACE_ATTR_MAX, tb, blobmsg_data(c), blobmsg_data_len(c));
if (!tb[IFACE_ATTR_INTERFACE] || (strcmp(argv[1], "*") && strcmp(argv[1], if (!tb[IFACE_ATTR_INTERFACE] || (strcmp(argv[1], "*") && strcmp(argv[1],
blobmsg_get_string(tb[IFACE_ATTR_INTERFACE])))) blobmsg_get_string(tb[IFACE_ATTR_INTERFACE]))))
continue; continue;
match_prefix(&pdlen, &pd, tb[IFACE_ATTR_PREFIX], &ipv6prefix, prefix6len); match_prefix(&pdlen, &pd, tb[IFACE_ATTR_PREFIX], &ipv6prefix, prefix6len);
if (lw4o6) if (lw4o6)
match_prefix(&pdlen, &pd, tb[IFACE_ATTR_ADDRESS], &ipv6prefix, prefix6len); match_prefix(&pdlen, &pd, tb[IFACE_ATTR_ADDRESS], &ipv6prefix, prefix6len);
if (pdlen >= 0) { if (pdlen >= 0) {
iface = blobmsg_get_string(tb[IFACE_ATTR_INTERFACE]); iface = blobmsg_get_string(tb[IFACE_ATTR_INTERFACE]);
break; break;
}
} }
} }