summaryrefslogtreecommitdiffstats
path: root/vpp-classifier/api/src/main/yang/vpp-classifier-acl@2017-05-03.yang
blob: 73c3a6838bf4161c0a78311fe564bfcc90e5eaae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
module vpp-classifier-acl {
  yang-version 1;
  namespace "http://fd.io/hc2vpp/yang/vpp-classifier-acl";
  prefix "vpp-classifier-acl";

  import vpp-classifier {
    prefix "vpp-classifier";
  }

  organization
    "FD.io - The Fast Data Project";

  contact
    "Hc2vpp Wiki <https://wiki.fd.io/view/Hc2vpp>
     Mailing List <hc2vpp@lists.fd.io>";

  description
    "This module contains a collection of YANG definitions for
     managing classifier based ACLs in VPP.

     Copyright (c) 2017 Cisco and/or its affiliates.

     Licensed under the Apache License, Version 2.0 (the 'License');
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at:

     http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an 'AS IS' BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.";

  revision "2017-05-03" {
    description
      "Removed support for ietf based acls.";
  }

  revision "2017-03-15" {
    description
      "Initial revision of vpp-classifier-acl model.";
  }

  typedef interface-mode {
    type enumeration {
      enum "l2";
      enum "l3";
    }
  }

  grouping acl-base-attributes {
    description
      "Defines references to classify tables.
       At least one table reference should be specified.";
    container l2-acl {
      leaf classify-table {
        type vpp-classifier:classify-table-ref;
        description
          "An L2 ACL table";
      }
    }
    container ip4-acl {
      leaf classify-table {
        type vpp-classifier:classify-table-ref;
        description
          "An IPv4 ACL table";
      }
    }
    container ip6-acl {
      leaf classify-table {
        type vpp-classifier:classify-table-ref;
        description
          "An IPv6 ACL table";
      }
    }
  }

  grouping vpp-acl-attributes {
    container acl {
      container ingress {
        uses vpp-classifier-acl:acl-base-attributes;
      }
      container egress {
        uses vpp-classifier-acl:acl-base-attributes;
      }
    }
  }
}