summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--v3po/api/src/main/yang/v3po.yang46
1 files changed, 46 insertions, 0 deletions
diff --git a/v3po/api/src/main/yang/v3po.yang b/v3po/api/src/main/yang/v3po.yang
index 5553cf661..9587cc642 100644
--- a/v3po/api/src/main/yang/v3po.yang
+++ b/v3po/api/src/main/yang/v3po.yang
@@ -46,6 +46,10 @@ module v3po {
base if:interface-type;
}
+ identity vhost-user {
+ base if:interface-type;
+ }
+
typedef vxlan-vni {
// FIXME: should be in a vxlan-specific model
description "VNI used in a VXLAN tunnel";
@@ -54,6 +58,13 @@ module v3po {
}
}
+ typedef vhost-user-role {
+ type enumeration {
+ enum "server";
+ enum "client";
+ }
+ }
+
grouping bridge-domain-attributes {
leaf flood {
type boolean;
@@ -109,6 +120,20 @@ module v3po {
default 0;
}
}
+ container vhost-user {
+ when "../if:type = 'v3po:vhost-user'";
+ leaf socket {
+ type string {
+ length 1..255;
+ }
+ }
+ leaf role {
+ type vhost-user-role;
+ default "server";
+ }
+ description
+ "vhost-user settings";
+ }
container vxlan {
// FIXME: this should be in an vxlan-specific extension
when "../if:type = 'v3po:vxlan-tunnel'";
@@ -235,6 +260,27 @@ module v3po {
}
}
}
+ container vhost-user {
+ when "../if:type = 'v3po:vhost-user'";
+ leaf socket {
+ type string;
+ }
+ leaf role {
+ type vhost-user-role;
+ }
+ leaf features {
+ type uint64;
+ }
+ leaf virtio-net-hdr-size {
+ type uint32;
+ }
+ leaf num-memory-regions {
+ type uint32;
+ }
+ leaf connect-error {
+ type string;
+ }
+ }
container vxlan {
when "../if:type = 'v3po:vxlan-tunnel'";