diff options
author | kn <kn@openbsd.org> | 2020-02-21 19:39:28 +0000 |
---|---|---|
committer | kn <kn@openbsd.org> | 2020-02-21 19:39:28 +0000 |
commit | a3b2112fbe71069941758ed79aa30cc694df9f1c (patch) | |
tree | 6dc393fec04ab1bf1a69a9842ec26f7c5b0cb558 /usr.sbin/ldomctl/parse.y | |
parent | Actually pass devalias from parser to config (diff) | |
download | wireguard-openbsd-a3b2112fbe71069941758ed79aa30cc694df9f1c.tar.xz wireguard-openbsd-a3b2112fbe71069941758ed79aa30cc694df9f1c.zip |
Support devaliases for vnet
vnet devalias=netboot
Creates a device alias to be used in OBP:
{ok} boot netboot
This helps navigating inside guests without remembering
device paths or rather their order as specified in the config.
OK kettenis
Diffstat (limited to 'usr.sbin/ldomctl/parse.y')
-rw-r--r-- | usr.sbin/ldomctl/parse.y | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/usr.sbin/ldomctl/parse.y b/usr.sbin/ldomctl/parse.y index e50f40721a1..ec28d5d9f72 100644 --- a/usr.sbin/ldomctl/parse.y +++ b/usr.sbin/ldomctl/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.17 2020/02/21 19:29:41 kn Exp $ */ +/* $OpenBSD: parse.y,v 1.18 2020/02/21 19:39:28 kn Exp $ */ /* * Copyright (c) 2012 Mark Kettenis <kettenis@openbsd.org> @@ -77,6 +77,7 @@ struct vdisk_opts { struct vnet_opts { uint64_t mac_addr; uint64_t mtu; + const char *devalias; } vnet_opts; void vcput_opts_default(void); @@ -105,10 +106,11 @@ typedef struct { %type <v.number> memory %type <v.vcpu_opts> vcpu %type <v.vdisk_opts> vdisk_opts vdisk_opts_l vdisk_opt -%type <v.vdisk_opts> devalias +%type <v.vdisk_opts> vdisk_devalias %type <v.vnet_opts> vnet_opts vnet_opts_l vnet_opt %type <v.vnet_opts> mac_addr %type <v.vnet_opts> mtu +%type <v.vnet_opts> vnet_devalias %% grammar : /* empty */ @@ -180,6 +182,7 @@ domainopts : VCPU vcpu { struct vnet *vnet = xmalloc(sizeof(struct vnet)); vnet->mac_addr = $2.mac_addr; vnet->mtu = $2.mtu; + vnet->devalias = $2.devalias; SIMPLEQ_INSERT_TAIL(&domain->vnet_list, vnet, entry); } | VARIABLE STRING '=' STRING { @@ -203,10 +206,10 @@ vdisk_opts : { vdisk_opts_default(); } vdisk_opts_l : vdisk_opts_l vdisk_opt | vdisk_opt ; -vdisk_opt : devalias +vdisk_opt : vdisk_devalias ; -devalias : DEVALIAS '=' STRING { +vdisk_devalias : DEVALIAS '=' STRING { vdisk_opts.devalias = $3; } ; @@ -221,6 +224,7 @@ vnet_opts_l : vnet_opts_l vnet_opt ; vnet_opt : mac_addr | mtu + | vnet_devalias ; mac_addr : MAC_ADDR '=' STRING { @@ -246,6 +250,11 @@ mtu : MTU '=' NUMBER { } ; +vnet_devalias : DEVALIAS '=' STRING { + vnet_opts.devalias = $3; + } + ; + vcpu : STRING { const char *errstr; char *colon; @@ -314,6 +323,7 @@ vnet_opts_default(void) { vnet_opts.mac_addr = -1; vnet_opts.mtu = 1500; + vnet_opts.devalias = NULL; } struct keywords { |