|
@@ -1563,15 +1563,17 @@ static ssize_t pktgen_if_write(struct file *file,
|
|
|
}
|
|
|
|
|
|
if (!strcmp(name, "mpls")) {
|
|
|
- unsigned n, offset;
|
|
|
+ unsigned n, cnt;
|
|
|
+
|
|
|
len = get_labels(&user_buffer[i], pkt_dev);
|
|
|
- if (len < 0) { return len; }
|
|
|
+ if (len < 0)
|
|
|
+ return len;
|
|
|
i += len;
|
|
|
- offset = sprintf(pg_result, "OK: mpls=");
|
|
|
+ cnt = sprintf(pg_result, "OK: mpls=");
|
|
|
for (n = 0; n < pkt_dev->nr_labels; n++)
|
|
|
- offset += sprintf(pg_result + offset,
|
|
|
- "%08x%s", ntohl(pkt_dev->labels[n]),
|
|
|
- n == pkt_dev->nr_labels-1 ? "" : ",");
|
|
|
+ cnt += sprintf(pg_result + cnt,
|
|
|
+ "%08x%s", ntohl(pkt_dev->labels[n]),
|
|
|
+ n == pkt_dev->nr_labels-1 ? "" : ",");
|
|
|
|
|
|
if (pkt_dev->nr_labels && pkt_dev->vlan_id != 0xffff) {
|
|
|
pkt_dev->vlan_id = 0xffff; /* turn off VLAN/SVLAN */
|
|
@@ -2731,6 +2733,7 @@ static unsigned int scan_ip6(const char *s, char ip[16])
|
|
|
unsigned int prefixlen = 0;
|
|
|
unsigned int suffixlen = 0;
|
|
|
__be32 tmp;
|
|
|
+ char *pos;
|
|
|
|
|
|
for (i = 0; i < 16; i++)
|
|
|
ip[i] = 0;
|
|
@@ -2745,12 +2748,9 @@ static unsigned int scan_ip6(const char *s, char ip[16])
|
|
|
}
|
|
|
s++;
|
|
|
}
|
|
|
- {
|
|
|
- char *tmp;
|
|
|
- u = simple_strtoul(s, &tmp, 16);
|
|
|
- i = tmp - s;
|
|
|
- }
|
|
|
|
|
|
+ u = simple_strtoul(s, &pos, 16);
|
|
|
+ i = pos - s;
|
|
|
if (!i)
|
|
|
return 0;
|
|
|
if (prefixlen == 12 && s[i] == '.') {
|
|
@@ -2778,11 +2778,9 @@ static unsigned int scan_ip6(const char *s, char ip[16])
|
|
|
len++;
|
|
|
} else if (suffixlen != 0)
|
|
|
break;
|
|
|
- {
|
|
|
- char *tmp;
|
|
|
- u = simple_strtol(s, &tmp, 16);
|
|
|
- i = tmp - s;
|
|
|
- }
|
|
|
+
|
|
|
+ u = simple_strtol(s, &pos, 16);
|
|
|
+ i = pos - s;
|
|
|
if (!i) {
|
|
|
if (*s)
|
|
|
len--;
|