summaryrefslogtreecommitdiffstats
path: root/vpp-classifier/api/src/main/yang/vpp-classifier-acl.yang
blob: 6dc028e16cfaffbddeb411da66a4b156dea4aa18 (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
module vpp-classifier-acl {
  yang-version 1;
  namespace "urn:opendaylight:params:xml:ns:yang:vpp:classifier:acl";
  prefix "vpp-classifier-acl";

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

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

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

  import yang-ext {
    prefix "ext";
  }

  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;
        }
      }
  }
}