HONEYCOMB-233: ietf-acl model augmentation to provide l2,l3 and l4 rules 34/3334/6
authorMarek Gradzki <mgradzki@cisco.com>
Mon, 10 Oct 2016 11:58:01 +0000 (13:58 +0200)
committerMaros Marsalek <mmarsale@cisco.com>
Thu, 13 Oct 2016 11:27:29 +0000 (11:27 +0000)
in one ACE

Change-Id: I2ebba9540fae1a49858d6887551385688d4529aa
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
v3po/api/src/main/yang/vpp-acl.yang

index 986d2ee..76e1eda 100644 (file)
@@ -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