- if (!unformat (input, "%_%x:%x:%x:%x:%x:%x%_",
- &mac->bytes[0], &mac->bytes[1], &mac->bytes[2],
- &mac->bytes[3], &mac->bytes[4], &mac->bytes[5]))
- return 0;
+ if (unformat (input, "%_%x:%x:%x:%x:%x:%x%_",
+ &mac->bytes[0], &mac->bytes[1], &mac->bytes[2],
+ &mac->bytes[3], &mac->bytes[4], &mac->bytes[5]))
+ return (1);
+ else if (unformat (input, "%_%x.%x.%x%_", &a[0], &a[1], &a[2]))
+ {
+ for (i = 0; i < ARRAY_LEN (a); i++)
+ if (a[i] >= (1 << 16))
+ return 0;