-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
sonic-bgp-neighbor.yang
108 lines (89 loc) · 2.98 KB
/
sonic-bgp-neighbor.yang
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
module sonic-bgp-neighbor {
namespace "http://github.com/Azure/sonic-bgp-neighbor";
prefix sbnbr;
yang-version 1.1;
import ietf-inet-types {
prefix inet;
}
import sonic-bgp-common {
prefix sbc;
}
import sonic-port {
prefix prt;
}
import sonic-portchannel {
prefix spc;
}
import sonic-vlan {
prefix svlan;
}
import sonic-bgp-global {
prefix sbgpg;
}
import sonic-bgp-peergroup {
prefix pg;
}
organization
"SONiC";
contact
"SONiC";
description
"SONIC BGP Neighbor";
revision 2021-02-26 {
description
"Initial revision.";
}
container sonic-bgp-neighbor {
container BGP_NEIGHBOR {
list BGP_NEIGHBOR_LIST {
key "vrf_name neighbor";
leaf vrf_name {
type leafref {
path "/sbgpg:sonic-bgp-global/sbgpg:BGP_GLOBALS/sbgpg:BGP_GLOBALS_LIST/sbgpg:vrf_name";
}
description "Network-instance/VRF name";
}
leaf neighbor {
type union {
type inet:ip-address;
type leafref {
path "/prt:sonic-port/prt:PORT/prt:PORT_LIST/prt:name";
}
type leafref {
path "/spc:sonic-portchannel/spc:PORTCHANNEL/spc:PORTCHANNEL_LIST/spc:name";
}
type leafref {
path "/svlan:sonic-vlan/svlan:VLAN/svlan:VLAN_LIST/svlan:name";
}
}
description "BGP Neighbor, it will be neighbor address or interface name";
}
leaf peer_group_name {
type leafref {
path "/pg:sonic-bgp-peergroup/pg:BGP_PEER_GROUP/pg:BGP_PEER_GROUP_LIST[pg:vrf_name=current()/../vrf_name]/pg:peer_group_name";
}
description "Peer group name";
}
uses sbc:sonic-bgp-cmn;
}
}
container BGP_NEIGHBOR_AF {
list BGP_NEIGHBOR_AF_LIST {
key "vrf_name neighbor afi_safi";
leaf vrf_name {
type leafref {
path "/sbgpg:sonic-bgp-global/sbgpg:BGP_GLOBALS/sbgpg:BGP_GLOBALS_LIST/sbgpg:vrf_name";
}
description "Network-instance/VRF name";
}
leaf neighbor {
type leafref {
path "../../../BGP_NEIGHBOR/BGP_NEIGHBOR_LIST[vrf_name=current()/../vrf_name]/neighbor";
}
description "BGP Neighbor, it will be neighbor address or interface name";
}
uses sbc:sonic-bgp-cmn-af;
}
}
}
}