summaryrefslogtreecommitdiffstats
path: root/srv6/srv6-api/src/main/yang/vpp-ietf-srv6-base@2018-06-13.yang
blob: 00870ad096c95d1118644183baf52407540335ed (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
module vpp-ietf-srv6-base {

    namespace "http://fd.io/hc2vpp/yang/vpp-ietf-srv6-base";
    prefix vpp-ietf-srv6-base;

    import hc2vpp-ietf-srv6-base {
        prefix "ietf-srv6-base";
        revision-date 2018-03-01;
    }

    import vpp-fib-table-management {
        prefix fib-management;
        revision-date 2018-05-21;
    }

    import hc2vpp-ietf-routing {
        prefix "rt";
    }

    import yang-ext { prefix "ext"; }

    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 provides VPP specific configuration of FIB table management
         for SRv6 base configuration.
         It augments locator beacause, locator is the routable element in SRv6 and
         because this is IPv6 specific configuration the address family for FIB has
         to be always Ipv6.

         Copyright (c) 2018 Bell Canada, Pantheon Technologies 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 2018-06-13 {
        description "initial revision";
    }

    grouping vpp-srv6-fib {
        container fib-table {
            leaf table-id {
                type fib-management:fib-table-list-ref;
                description "VRF index reference.";
            }
            leaf address-family {
                type fib-management:address-family-type;
                description "Address family reference. For SRv6 has to be always Ipv6.";
            }
        }
    }

    augment "/rt:routing/ietf-srv6-base:srv6/ietf-srv6-base:locators/ietf-srv6-base:locator" {
        description "This augments locator leaf withing SRv6 with VPP specific configuration.";
        ext:augment-identifier "vpp-srv6-fib-locator-augment";

        uses vpp-srv6-fib;
    }
}