vmd(8): allow locking a randomly assigned lladdr
authordv <dv@openbsd.org>
Wed, 2 Jun 2021 14:40:46 +0000 (14:40 +0000)
committerdv <dv@openbsd.org>
Wed, 2 Jun 2021 14:40:46 +0000 (14:40 +0000)
Provide a default value of a zero'd mac address so a user can still
specify the interface should be "locked" (only transmitting ethernet
packets with a matching source address). vmd will assign a random
address at vm launch.

As an example, this is now valid:

  vm "name" {
    interface {
      locked lladdr
    }
    ...
  }

From Martin Vahlensieck
ok claudio@

usr.sbin/vmd/parse.y

index bc2b4b5..52815e0 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.56 2020/09/23 19:18:18 martijn Exp $      */
+/*     $OpenBSD: parse.y,v 1.57 2021/06/02 14:40:46 dv Exp $   */
 
 /*
  * Copyright (c) 2007-2016 Reyk Floeter <reyk@openbsd.org>
@@ -694,6 +694,9 @@ lladdr              : STRING                        {
 
                        memcpy($$, ea, ETHER_ADDR_LEN);
                }
+               | /* empty */ {
+                       memset($$, 0, ETHER_ADDR_LEN);
+               }
                ;
 
 local          : /* empty */                   { $$ = 0; }