summaryrefslogtreecommitdiffstats
path: root/nat/nat-api/src/main/yang/nat-context.yang
blob: dd17ed58ce2b3e2a8b4479bb33d4cb9390bcb71a (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
module nat-context {
    yang-version 1;
    namespace "urn:honeycomb:params:xml:ns:yang:nat:context";
    prefix "nc";

    description "Context for nat mapping";

    revision "2016-12-14" {
        description "Initial revision.";
    }

    import ietf-inet-types {
       prefix "inet";
    }

    import naming-context {
       prefix "nc";
    }

    import yang-ext {
       prefix "ext";
    }

    grouping mapping-entry-context-attributes {
        container nat-mapping-entry-context {
            list nat-instance {
                key "id";

                leaf id {
                    type uint32;
                    description "ID of the NAT instance from ietf-nat. Maps to VRF-ID in VPP";
                }

                container mapping-table {
                    list mapping-entry {

                        key "internal external";
                        unique "index";

                        leaf internal {
                            type inet:ip-address;
                            description "Local IP address set in VPP";
                        }

                        leaf external {
                            type inet:ip-address;
                            description "Extarnal IP address set in VPP";
                        }

                        leaf index {
                            type uint32;
                            description "ID of the NAT's mapping entry from ietf-nat";
                        }
                    }
                }
            }
        }
    }

    augment /nc:contexts {
        ext:augment-identifier "nat-mapping-entry-ctx-augmentation";
        uses mapping-entry-context-attributes;
    }
}