summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-10-10 13:58:01 +0200
committerMaros Marsalek <mmarsale@cisco.com>2016-10-13 11:27:29 +0000
commit5d4de31ab3a6c7b1b1759fcb8a227492c770d61c (patch)
treea6e26d5605b53d84ae109ef47037cf7e2cdb25fd
parent65caa807bccc10fb2c7a1b597a629cc3f763b19c (diff)
HONEYCOMB-233: ietf-acl model augmentation to provide l2,l3 and l4 rules
in one ACE Change-Id: I2ebba9540fae1a49858d6887551385688d4529aa Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
-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