> Am 17.10.2016 um 14:16 schrieb Rafael Zalamena <[email protected]>:
>
> There are two inconsistencies with the ifconfig(8) switch(4) configuring:
> 1) Datapath ID is an unsigned 64 bit integer, not a signed one;
I think we should use strtonum instead of strtoull here.
> 2) ifconfig(8) man pages says that the parameter is "datapath" not
> "datapathid";
>
Yes, this chunk is OK.
Reyk
> This diff fixes both problems and let us configure the datapath id
> correctly.
>
> ok?
>
>
> Index: brconfig.c
> ===================================================================
> RCS file: /home/obsdcvs/src/sbin/ifconfig/brconfig.c,v
> retrieving revision 1.11
> diff -u -p -r1.11 brconfig.c
> --- brconfig.c 3 Sep 2016 17:13:48 -0000 1.11
> +++ brconfig.c 17 Oct 2016 10:11:25 -0000
> @@ -1051,7 +1051,7 @@ switch_datapathid(const char *arg, int d
> char *endptr;
>
> errno = 0;
> - newdpid = strtoll(arg, &endptr, 0);
> + newdpid = strtoull(arg, &endptr, 0);
> if (arg[0] == '\0' || endptr[0] != '\0' || errno == ERANGE)
> errx(1, "invalid arg for datapath-id: %s", arg);
>
> Index: ifconfig.c
> ===================================================================
> RCS file: /home/obsdcvs/src/sbin/ifconfig/ifconfig.c,v
> retrieving revision 1.330
> diff -u -p -r1.330 ifconfig.c
> --- ifconfig.c 3 Sep 2016 13:46:57 -0000 1.330
> +++ ifconfig.c 17 Oct 2016 09:48:33 -0000
> @@ -517,7 +517,7 @@ const struct cmd {
> { "-roaming", 0, 0, umb_roaming },
> { "patch", NEXTARG, 0, setpair },
> { "-patch", 1, 0, unsetpair },
> - { "datapathid", NEXTARG, 0, switch_datapathid },
> + { "datapath", NEXTARG, 0, switch_datapathid },
> { "portno", NEXTARG2, 0, NULL, switch_portno },
> { "addlocal", NEXTARG, 0, addlocal },
> #else /* SMALL */
>