[pve-devel] [PATCH common v3 1/1] JSONSchema: Adapt MAC address format to unicast
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Mar 14 09:50:06 CET 2019
On 3/12/19 4:07 PM, Stoiko Ivanov wrote:
> MAC-addresses having the LSB of the first octet set, are considered
> multicast-addresses (see [0,1]).
>
> the 'mac-addr' format got changed to only permit unicast addresses, which should
> work for its current use-case (WOL for nodes).
> additionally a default option was registered via register_standard_option to be
> used in both PVE::LXC::Config and PVE::QemuServer.
>
> [0] https://lists.linuxcontainers.org/pipermail/lxc-users/2010-August/000783.html
> [1] https://en.wikipedia.org/wiki/MAC_address
>
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> src/PVE/JSONSchema.pm | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm
> index 1e3bf5d..10037f5 100644
> --- a/src/PVE/JSONSchema.pm
> +++ b/src/PVE/JSONSchema.pm
> @@ -208,12 +208,20 @@ register_format('mac-addr', \&pve_verify_mac_addr);
> sub pve_verify_mac_addr {
> my ($mac_addr, $noerr) = @_;
>
> - if ($mac_addr !~ m/^[0-9a-f]{2}(:[0-9a-f]{2}){5}$/i) {
> + if ($mac_addr !~ m/^[a-f0-9][02468ace](?::[a-f0-9]{2}){5}$/i) {
> return undef if $noerr;
> - die "value does not look like a valid MAC address\n";
> + die "value does not look like a valid unicast MAC address\n";
> }
> return $mac_addr;
> +
> }
> +register_standard_option('mac-addr', {
> + type => 'string',
> + description => 'Unicast MAC address.',
> + format_description => "XX:XX:XX:XX:XX:XX",
> + optional => 1,
> + format => 'mac-addr',
> +});
>
> register_format('ipv4', \&pve_verify_ipv4);
> sub pve_verify_ipv4 {
>
applied, with a comment and verbose_description followup, thanks!
More information about the pve-devel
mailing list