From 5543d61420bd198dc34e8f0e64c3479c185a9c2b Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Mon, 10 Oct 2016 13:58:01 +0200 Subject: HONEYCOMB-233: ietf-acl model augmentation to provide l2,l3 and l4 rules in one ACE Change-Id: I2ebba9540fae1a49858d6887551385688d4529aa Signed-off-by: Marek Gradzki --- v3po/api/src/main/yang/vpp-acl.yang | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'v3po') 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 -- cgit 1.2.3-korg