summaryrefslogtreecommitdiffstats
path: root/v3po/api
diff options
context:
space:
mode:
Diffstat (limited to 'v3po/api')
-rw-r--r--v3po/api/src/main/yang/vpp-acl.yang36
1 files changed, 36 insertions, 0 deletions
diff --git a/v3po/api/src/main/yang/vpp-acl.yang b/v3po/api/src/main/yang/vpp-acl.yang
index 986d2eee3..76e1eda9e 100644
--- a/v3po/api/src/main/yang/vpp-acl.yang
+++ b/v3po/api/src/main/yang/vpp-acl.yang
@@ -16,12 +16,27 @@ module vpp-acl {
prefix "vpp-classifier";
}
+ import yang-ext {
+ prefix "ext";
+ }
+
+ import ietf-packet-fields {
+ prefix packet-fields;
+ }
+
+ identity mixed-acl {
+ base acl:acl-base;
+ description
+ "ACL that can match on any of L2/L3/L4 fields.";
+ }
+
typedef interface-mode {
type enumeration {
enum "l2";
enum "l3";
}
}
+
grouping acl-base-attributes {
description
"Defines references to classify tables.
@@ -113,4 +128,25 @@ module vpp-acl {
}
}
}
+
+ augment /acl:access-lists/acl:acl/acl:access-list-entries/acl:ace/acl:matches/acl:ace-type {
+ ext:augment-identifier "vpp-acl-type-augmentation";
+ case ace-ip-and-eth {
+ description
+ "Access List entry that can define both ip and eth rules.";
+ choice ace-ip-version {
+ description
+ "IP version used in this Access List Entry.";
+ mandatory true;
+ case ace-ipv4 {
+ uses packet-fields:acl-ipv4-header-fields;
+ }
+ case ace-ipv6 {
+ uses packet-fields:acl-ipv6-header-fields;
+ }
+ }
+ uses packet-fields:acl-ip-header-fields;
+ uses packet-fields:acl-eth-header-fields;
+ }
+ }
} \ No newline at end of file