struct ether_addr mac;
char *hostname;
char *duid;
+ char *iaid;
union {
struct in_addr in;
struct in6_addr in6;
strtok(NULL, " \t\n"); /* iface */
e.duid = strtok(NULL, " \t\n"); /* duid */
-
if (!e.duid)
continue;
- p = strtok(NULL, " \t\n"); /* iaid */
-
- if (!p)
+ e.iaid = strtok(NULL, " \t\n"); /* iaid */
+ if (!e.iaid)
continue;
- if (!strcmp(p, "ipv4")) {
+ if (!strcmp(e.iaid, "ipv4")) {
e.af = AF_INET;
e.mask = 32;
}
e.hostname = strtok(NULL, " \t\n");
e.duid = strtok(NULL, " \t\n");
+ e.iaid = NULL;
if (!e.hostname || !e.duid)
continue;
if (lease->duid)
blobmsg_add_string(&blob, "duid", lease->duid);
+ if (lease->iaid)
+ blobmsg_add_string(&blob, "iaid", lease->iaid);
+
inet_ntop(lease->af, &lease->addr[0].in6, s, sizeof(s));
blobmsg_add_string(&blob, (af == AF_INET) ? "ipaddr" : "ip6addr", s);
E('th', { 'class': 'th' }, _('Hostname')),
E('th', { 'class': 'th' }, _('IPv6 address')),
E('th', { 'class': 'th' }, _('DUID')),
+ E('th', { 'class': 'th' }, _('IAID')),
E('th', { 'class': 'th' }, _('Lease time remaining'))
]),
E('tr', { 'class': 'tr placeholder' }, [
host || '-',
lease.ip6addrs ? lease.ip6addrs.join('<br />') : lease.ip6addr,
lease.duid,
+ lease.iaid,
exp
];
}),
E('th', { 'class': 'th' }, _('Host')),
E('th', { 'class': 'th' }, _('IPv6 address')),
E('th', { 'class': 'th' }, _('DUID')),
+ E('th', { 'class': 'th' }, _('IAID')),
E('th', { 'class': 'th' }, _('Lease time remaining')),
isReadonlyView ? E([]) : E('th', { 'class': 'th cbi-section-actions' }, _('Static Lease'))
])
host || '-',
lease.ip6addrs ? lease.ip6addrs.join('<br />') : lease.ip6addr,
lease.duid,
+ lease.iaid,
exp
];