Service Provider Route Reflectors and Client for iBGP IPv4

Use Case

In large service provider networks it is necessary to divide the routing functionality into two or more layers: a backbone layer and a gateway layer. This allows backbone routers to be focused on core routing and switching to/from other areas of the routing domain, and gateway routers may then be focused on interconnecting other service provider customers.

Example Scenario

In this example, the service provider will have a fictitious autonomous system number (ASN) of 65505, Each network POP, of which only one will be detailed here, will feature 2 backbone routers which will be configured as route-reflectors. These backbone routers will be participating in BGP Cluster ID 100. Other POPs will likely be different Cluster IDs.

There will also be a single gateway router which will be a client of the backbone route-reflectors. Of course, in real world scenarios there would likely be many more gateway routers, each serving a full complement of customers.

BGP Route Reflector Setup Parameters

Item

Value

TNSR Autonomous System Number

65505

IPv4 Networks to be announced

192.0.2.0/24, 203.0.113.0/24

BGP Route-Reflector Cluster ID

100

Scenario Topology

../../_images/diagram-bgp-router-reflector.png

TNSR BGP Route Reflector

TNSR Configuration Steps

Step 1: Configure Interfaces

RR1:

rr1 tnsr# conf
rr1 tnsr(config)# interface GigabitEthernet0/13/0
rr1 tnsr(config-interface)# description "To Backbone Network"
rr1 tnsr(config-interface)# ip address 203.0.113.13/30
rr1 tnsr(config-interface)# enable
rr1 tnsr(config-interface)# exit
rr1 tnsr(config)# interface GigabitEthernet0/14/0
rr1 tnsr(config-interface)# description "To RR2 Router"
rr1 tnsr(config-interface)# ip address 203.0.113.21/30
rr1 tnsr(config-interface)# enable
rr1 tnsr(config-interface)# exit
rr1 tnsr(config)# interface GigabitEthernet0/15/0
rr1 tnsr(config-interface)# description "To GW router"
rr1 tnsr(config-interface)# ip address 203.0.113.5/30
rr1 tnsr(config-interface)# enable
rr1 tnsr(config-interface)# exit
rr1 tnsr(config)#

RR2:

rr2 tnsr# conf
rr2 tnsr(config)# interface GigabitEthernet0/13/0
rr2 tnsr(config-interface)# description "To Backbone Network"
rr2 tnsr(config-interface)# ip address 203.0.113.17/30
rr2 tnsr(config-interface)# enable
rr2 tnsr(config-interface)# exit
rr2 tnsr(config)# interface GigabitEthernet0/14/0
rr2 tnsr(config-interface)# description "To RR1 Router"
rr2 tnsr(config-interface)# ip address 203.0.113.22/30
rr2 tnsr(config-interface)# enable
rr2 tnsr(config-interface)# exit
rr2 tnsr(config)# interface GigabitEthernet0/15/0
rr2 tnsr(config-interface)# description "To GW router"
rr2 tnsr(config-interface)# ip address 203.0.113.9/30
rr2 tnsr(config-interface)# enable
rr2 tnsr(config-interface)# exit
rr2 tnsr(config)#

GW:

gw tnsr# conf
gw tnsr(config)# interface GigabitEthernet0/13/0
gw tnsr(config-interface)# description "To RR1 Router"
gw tnsr(config-interface)# ip address 203.0.113.6/30
gw tnsr(config-interface)# enable
gw tnsr(config-interface)# exit
gw tnsr(config)# interface GigabitEthernet0/14/0
gw tnsr(config-interface)# description "To RR2 Router"
gw tnsr(config-interface)# ip address 203.0.113.10/30
gw tnsr(config-interface)# enable
gw tnsr(config-interface)# exit
gw tnsr(config)# interface GigabitEthernet0/15/0
gw tnsr(config-interface)# desc "To Customer Router"
gw tnsr(config-interface)# ip address 203.0.113.25/30
gw tnsr(config-interface)# enable
gw tnsr(config-interface)# exit
gw tnsr(config)#

Step 2: Enable BGP

RR1:

rr1 tnsr(config)# route dynamic bgp
rr1 tnsr(config-route-dynamic-bgp)# enable
rr1 tnsr(config-route-dynamic-bgp)# exit
rr1 tnsr(config)#

RR2:

rr2 tnsr(config)# route dynamic bgp
rr2 tnsr(config-route-dynamic-bgp)# enable
rr2 tnsr(config-route-dynamic-bgp)# exit
rr2 tnsr(config)#

GW:

gw tnsr(config)# route dynamic bgp
gw tnsr(config-route-dynamic-bgp)# enable
gw tnsr(config-route-dynamic-bgp)# exit
gw tnsr(config)#

Step 3: Create prefix-lists for route import into BGP on Route-Reflectors

RR1:

rr1 tnsr(config)# route dynamic prefix-list REDISTRIBUTE_IPv4
rr1 tnsr(config-prefix-list)# description "IPv4 Routes to Import"
rr1 tnsr(config-prefix-list)# seq 10 permit 192.0.2.0/24
rr1 tnsr(config-prefix-list)# seq 20 permit 203.0.113.0/24
rr1 tnsr(config-prefix-list)# exit
rr1 tnsr(config)#

RR2:

rr2 tnsr(config)# route dynamic prefix-list REDISTRIBUTE_IPv4
rr2 tnsr(config-prefix-list)# description "IPv4 Routes to Import"
rr2 tnsr(config-prefix-list)# seq 10 permit 192.0.2.0/24
rr2 tnsr(config-prefix-list)# seq 20 permit 203.0.113.0/24
rr2 tnsr(config-prefix-list)# exit
rr2 tnsr(config)#

Step 4: Create route-map for route import into iBGP on route-reflectors

RR1:

rr1 tnsr(config)# route dynamic route-map REDISTRIBUTE_IPv4 permit sequence 10
rr1 tnsr(config-route-map)# match ip address prefix-list REDISTRIBUTE_IPv4
rr1 tnsr(config-route-map)# set origin igp
rr1 tnsr(config-route-map)# exit
rr1 tnsr(config)#

RR2:

rr2 tnsr(config)# route dynamic route-map REDISTRIBUTE_IPv4 permit sequence 10
rr2 tnsr(config-route-map)# match ip address prefix-list REDISTRIBUTE_IPv4
rr2 tnsr(config-route-map)# set origin igp
rr2 tnsr(config-route-map)# exit
rr2 tnsr(config)#

Step 5: Create static route for networks to be advertised in BGP

RR1:

rr1 tnsr(config)# route ipv4 table ipv4-VRF:0
rr1 tnsr(config-route-table-v4)# route 192.0.2.0/24
rr1 tnsr(config-rttbl4-next-hop)# next-hop 1 via local
rr1 tnsr(config-rttbl4-next-hop)# exit
rr1 tnsr(config-route-table-v4)# route 203.0.113.0/24
rr1 tnsr(config-rttbl4-next-hop)# next-hop 1 via local
rr1 tnsr(config-rttbl4-next-hop)# exit
rr1 tnsr(config-route-table-v4)# exit
rr1 tnsr(config)#

RR2:

rr2 tnsr(config)# route ipv4 table ipv4-VRF:0
rr2 tnsr(config-route-table-v4)# route 192.0.2.0/24
rr2 tnsr(config-rttbl4-next-hop)# next-hop 1 via local
rr2 tnsr(config-rttbl4-next-hop)# exit
rr2 tnsr(config-route-table-v4)# route 203.0.113.0/24
rr2 tnsr(config-rttbl4-next-hop)# next-hop 1 via local
rr2 tnsr(config-rttbl4-next-hop)# exit
rr2 tnsr(config-route-table-v4)# exit
rr2 tnsr(config)#

Step 6: Configure BGP global options

RR1:

rr1 tnsr(config)# route dynamic bgp
rr1 (config-route-dynamic-bgp)# server 65505
rr1 tnsr(config-bgp)# router-id 203.0.113.21
rr1 tnsr(config-bgp)# cluster-id 100
rr1 tnsr(config-bgp)# address-family ipv4 unicast
rr1 tnsr(config-bgp-af)# redistribute from kernel route-map REDISTRIBUTE_IPv4
rr1 tnsr(config-bgp-af)# exit
rr1 tnsr(config-bgp)#

RR2:

rr1 tnsr(config)# route dynamic bgp
rr1 (config-route-dynamic-bgp)# server 65505
rr2 tnsr(config-bgp)# router-id 203.0.113.22
rr2 tnsr(config-bgp)# cluster-id 100
rr2 tnsr(config-bgp)# address-family ipv4 unicast
rr2 tnsr(config-bgp-af)# redistribute from kernel route-map REDISTRIBUTE_IPv4
rr2 tnsr(config-bgp-af)# exit
rr2 tnsr(config-bgp)#

GW:

gw tnsr(config)# route dynamic bgp
gw (config-route-dynamic-bgp)# server 65505
gw tnsr(config-bgp)# router-id 203.0.113.6
gw tnsr(config-bgp)#

Step 7: Configure iBGP peer-group for backbone route-reflectors and add neighbor

RR1:

rr1 tnsr(config-bgp)# neighbor iBGP
rr1 tnsr(config-bgp-neighbor)# remote-as 65505
rr1 tnsr(config-bgp-neighbor)# description "iBGP Sessions"
rr1 tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/14/0
rr1 tnsr(config-bgp-neighbor)# enable
rr1 tnsr(config-bgp-neighbor)# exit
rr1 tnsr(config-bgp)# neighbor 203.0.113.22
rr1 tnsr(config-bgp-neighbor)# peer-group iBGP
rr1 tnsr(config-bgp-neighbor)# enable
rr1 tnsr(config-bgp-neighbor)# exit

RR2:

rr2 tnsr(config-bgp)# neighbor iBGP
rr2 tnsr(config-bgp-neighbor)# remote-as 65505
rr2 tnsr(config-bgp-neighbor)# description "iBGP Sessions"
rr2 tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/14/0
rr2 tnsr(config-bgp-neighbor)# enable
rr2 tnsr(config-bgp-neighbor)# exit
rr2 tnsr(config-bgp)# neighbor 203.0.113.21
rr2 tnsr(config-bgp-neighbor)# peer-group iBGP
rr2 tnsr(config-bgp-neighbor)# enable
rr2 tnsr(config-bgp-neighbor)# exit

Step 8: Configure RR-CLIENT peer-group for route-reflector clients and add neighbor

RR1:

rr1 tnsr(config-bgp)# neighbor RR-CLIENT
rr1 tnsr(config-bgp-neighbor)# remote-as 65505
rr1 tnsr(config-bgp-neighbor)# description "RR-Client Sessions"
rr1 tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/15/0
rr1 tnsr(config-bgp-neighbor)# enable
rr1 tnsr(config-bgp-neighbor)# exit
rr1 tnsr(config-bgp)# neighbor 203.0.113.6
rr1 tnsr(config-bgp-neighbor)# peer-group RR-CLIENT
rr1 tnsr(config-bgp-neighbor)# enable
rr1 tnsr(config-bgp-neighbor)# exit
rr1 tnsr(config-bgp)#

RR2:

rr2 tnsr(config-bgp)# neighbor RR-CLIENT
rr2 tnsr(config-bgp-neighbor)# remote-as 65505
rr2 tnsr(config-bgp-neighbor)# description "RR-Client Sessions"
rr2 tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/15/0
rr2 tnsr(config-bgp-neighbor)# enable
rr2 tnsr(config-bgp-neighbor)# exit
rr2 tnsr(config-bgp)# neighbor 203.0.113.10
rr2 tnsr(config-bgp-neighbor)# peer-group RR-CLIENT
rr2 tnsr(config-bgp-neighbor)# enable
rr2 tnsr(config-bgp-neighbor)# exit
rr2 tnsr(config-bgp)#

Step 9: Configure both peer-group address-family options on route-reflectors

RR1:

rr1 tnsr(config-bgp)# address-family ipv4 unicast
rr1 tnsr(config-bgp-af)# neighbor iBGP
rr1 tnsr(config-bgp-af-nbr)# next-hop-self
rr1 tnsr(config-bgp-af-nbr)# activate
rr1 tnsr(config-bgp-af-nbr)# exit
rr1 tnsr(config-bgp-af)# neighbor RR-CLIENT
rr1 tnsr(config-bgp-af-nbr)# route-reflector-client
rr1 tnsr(config-bgp-af-nbr)# activate
rr1 tnsr(config-bgp-af-nbr)# exit
rr1 tnsr(config-bgp-af)# exit
rr1 tnsr(config-bgp)#

RR2:

rr2 tnsr(config-bgp)# address-family ipv4 unicast
rr2 tnsr(config-bgp-af)# neighbor iBGP
rr2 tnsr(config-bgp-af-nbr)# next-hop-self
rr2 tnsr(config-bgp-af-nbr)# activate
rr2 tnsr(config-bgp-af-nbr)# exit
rr2 tnsr(config-bgp-af)# neighbor RR-CLIENT
rr2 tnsr(config-bgp-af-nbr)# route-reflector-client
rr2 tnsr(config-bgp-af-nbr)# activate
rr2 tnsr(config-bgp-af-nbr)# exit
rr2 tnsr(config-bgp-af)# exit
rr2 tnsr(config-bgp)#

Step 10: Configure iBGP on gateway router to both route-reflectors

GW:

gw tnsr(config-bgp)# neighbor 203.0.113.5
gw tnsr(config-bgp-neighbor)# remote-as 65505
gw tnsr(config-bgp-neighbor)# description "RR1 Session"
gw tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/13/0
gw tnsr(config-bgp-neighbor)# enable
gw tnsr(config-bgp-neighbor)# exit
gw tnsr(config-bgp)# neighbor 203.0.113.9
gw tnsr(config-bgp-neighbor)# remote-as 65505
gw tnsr(config-bgp-neighbor)# description "RR2 Session"
gw tnsr(config-bgp-neighbor)# update-source GigabitEthernet0/14/0
gw tnsr(config-bgp-neighbor)# enable
gw tnsr(config-bgp-neighbor)# exit
gw tnsr(config-bgp)# address-family ipv4 unicast
gw tnsr(config-bgp-af)# neighbor 203.0.113.5
gw tnsr(config-bgp-af-nbr)# activate
gw tnsr(config-bgp-af-nbr)# exit
gw tnsr(config-bgp-af)# neighbor 203.0.113.9
gw tnsr(config-bgp-af-nbr)# activate
gw tnsr(config-bgp-af-nbr)# exit
gw tnsr(config-bgp-af)# exit
gw tnsr(config-bgp)#

JSON Configuration

RR1

  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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
{
  "data": {
    "bgp-config": {
      "global-options": {
        "enable": true
      },
      "routers": {
        "router": [
          {
            "asn": 65505,
            "cluster-id": "100",
            "router-id": "203.0.113.21",
            "address-families": {
              "address-family": [
                {
                  "family": "ipv4",
                  "subfamily": "labeled-unicast"
                },
                {
                  "family": "ipv4",
                  "subfamily": "multicast"
                },
                {
                  "family": "ipv4",
                  "subfamily": "unicast",
                  "neighbors": {
                    "neighbor": [
                      {
                        "peer": "RR-CLIENT",
                        "activate": true,
                        "route-reflector-client": true
                      },
                      {
                        "peer": "iBGP",
                        "activate": true,
                        "next-hop-self": true
                      }
                    ]
                  },
                  "redistributions": {
                    "named-sources": {
                      "route-source": [
                        {
                          "source": "kernel",
                          "route-map": "REDISTRIBUTE_IPv4"
                        }
                      ]
                    }
                  }
                },
                {
                  "family": "ipv4",
                  "subfamily": "vpn"
                },
                {
                  "family": "ipv6",
                  "subfamily": "labeled-unicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "multicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "unicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "vpn"
                },
                {
                  "family": "l2vpn",
                  "subfamily": "evpn"
                },
                {
                  "family": "vpnv4",
                  "subfamily": "unicast"
                },
                {
                  "family": "vpnv6",
                  "subfamily": "unicast"
                }
              ]
            },
            "neighbors": {
              "neighbor": [
                {
                  "peer": "203.0.113.22",
                  "capability-negotiate": true,
                  "peer-group-name": "iBGP",
                  "enable": true
                },
                {
                  "peer": "203.0.113.6",
                  "capability-negotiate": true,
                  "peer-group-name": "RR-CLIENT",
                  "enable": true
                },
                {
                  "peer": "RR-CLIENT",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"RR-Client Sessions\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/15/0"
                },
                {
                  "peer": "iBGP",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"iBGP Sessions\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/14/0"
                }
              ]
            }
          }
        ]
      }
    },
    "interfaces-config": {
      "interface": [
        {
          "name": "GigabitEthernet0/13/0",
          "description": "<![CDATA[\"To Backbone Network\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.13/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/14/0",
          "description": "<![CDATA[\"To RR2 Router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.21/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/15/0",
          "description": "<![CDATA[\"To GW router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.5/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        }
      ]
    },
    "prefix-list-config": {
      "prefix-lists": {
        "list": [
          {
            "name": "REDISTRIBUTE_IPv4",
            "description": "<![CDATA[\"IPv4 Routes to Import\"]]>",
            "rules": {
              "rule": [
                {
                  "sequence": 10,
                  "action": "permit",
                  "prefix": "192.0.2.0/24"
                },
                {
                  "sequence": 20,
                  "action": "permit",
                  "prefix": "203.0.113.0/24"
                }
              ]
            }
          }
        ]
      }
    },
    "route-map-config": {
      "route-maps": {
        "map": [
          {
            "name": "REDISTRIBUTE_IPv4",
            "rules": {
              "rule": [
                {
                  "sequence": 10,
                  "policy": "permit",
                  "match": {
                    "ip-address-prefix-list": "REDISTRIBUTE_IPv4"
                  },
                  "set": {
                    "origin": "igp"
                  }
                }
              ]
            }
          }
        ]
      }
    },
    "route-table-config": {
      "static-routes": {
        "route-table": [
          {
            "name": "ipv4-VRF:0",
            "address-family": "ipv4",
            "ipv4-routes": {
              "route": [
                {
                  "destination-prefix": "192.0.2.0/24",
                  "next-hop": {
                    "hop": [
                      {
                        "hop-id": 1,
                        "local": true
                      }
                    ]
                  }
                },
                {
                  "destination-prefix": "203.0.113.0/24",
                  "next-hop": {
                    "hop": [
                      {
                        "hop-id": 1,
                        "local": true
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  }
}

RR2

  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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
{
  "data": {
    "bgp-config": {
      "global-options": {
        "enable": true
      },
      "routers": {
        "router": [
          {
            "asn": 65505,
            "cluster-id": "100",
            "router-id": "203.0.113.22",
            "address-families": {
              "address-family": [
                {
                  "family": "ipv4",
                  "subfamily": "unicast",
                  "neighbors": {
                    "neighbor": [
                      {
                        "peer": "RR-CLIENT",
                        "activate": true,
                        "route-reflector-client": true
                      },
                      {
                        "peer": "iBGP",
                        "activate": true,
                        "next-hop-self": true
                      }
                    ]
                  },
                  "redistributions": {
                    "named-sources": {
                      "route-source": [
                        {
                          "source": "kernel",
                          "route-map": "REDISTRIBUTE_IPv4"
                        }
                      ]
                    }
                  }
                },
                {
                  "family": "ipv6",
                  "subfamily": "unicast",
                  "redistributions": null
                }
              ]
            },
            "neighbors": {
              "neighbor": [
                {
                  "peer": "203.0.113.10",
                  "capability-negotiate": true,
                  "peer-group-name": "RR-CLIENT",
                  "enable": true
                },
                {
                  "peer": "203.0.113.21",
                  "capability-negotiate": true,
                  "peer-group-name": "iBGP",
                  "enable": true
                },
                {
                  "peer": "RR-CLIENT",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"RR-Client Sessions\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/15/0"
                },
                {
                  "peer": "iBGP",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"iBGP Sessions\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/14/0"
                }
              ]
            }
          }
        ]
      }
    },
    "interfaces-config": {
      "interface": [
        {
          "name": "GigabitEthernet0/13/0",
          "description": "<![CDATA[\"To Backbone Network\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.17/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/14/0",
          "description": "<![CDATA[\"To RR1 Router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.22/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/15/0",
          "description": "<![CDATA[\"To GW router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.9/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        }
      ]
    },
    "prefix-list-config": {
      "prefix-lists": {
        "list": [
          {
            "name": "REDISTRIBUTE_IPv4",
            "description": "<![CDATA[\"IPv4 Routes to Import\"]]>",
            "rules": {
              "rule": [
                {
                  "sequence": 10,
                  "action": "permit",
                  "prefix": "192.0.2.0/24"
                },
                {
                  "sequence": 20,
                  "action": "permit",
                  "prefix": "203.0.113.0/24"
                }
              ]
            }
          }
        ]
      }
    },
    "route-map-config": {
      "route-maps": {
        "map": [
          {
            "name": "REDISTRIBUTE_IPv4",
            "rules": {
              "rule": [
                {
                  "sequence": 10,
                  "policy": "permit",
                  "match": {
                    "ip-address-prefix-list": "REDISTRIBUTE_IPv4"
                  },
                  "set": {
                    "origin": "igp"
                  }
                }
              ]
            }
          }
        ]
      }
    },
    "route-table-config": {
      "static-routes": {
        "route-table": [
          {
            "name": "ipv4-VRF:0",
            "address-family": "ipv4",
            "ipv4-routes": {
              "route": [
                {
                  "destination-prefix": "192.0.2.0/24",
                  "next-hop": {
                    "hop": [
                      {
                        "hop-id": 1,
                        "local": true
                      }
                    ]
                  }
                },
                {
                  "destination-prefix": "203.0.113.0/24",
                  "next-hop": {
                    "hop": [
                      {
                        "hop-id": 1,
                        "local": true
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  }
}

GW

  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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{
  "data": {
    "bgp-config": {
      "global-options": {
        "enable": true
      },
      "routers": {
        "router": [
          {
            "asn": 65505,
            "router-id": "203.0.113.6",
            "address-families": {
              "address-family": [
                {
                  "family": "ipv4",
                  "subfamily": "labeled-unicast"
                },
                {
                  "family": "ipv4",
                  "subfamily": "multicast"
                },
                {
                  "family": "ipv4",
                  "subfamily": "unicast",
                  "neighbors": {
                    "neighbor": [
                      {
                        "peer": "203.0.113.5",
                        "activate": true
                      },
                      {
                        "peer": "203.0.113.9",
                        "activate": true
                      }
                    ]
                  }
                },
                {
                  "family": "ipv4",
                  "subfamily": "vpn"
                },
                {
                  "family": "ipv6",
                  "subfamily": "labeled-unicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "multicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "unicast"
                },
                {
                  "family": "ipv6",
                  "subfamily": "vpn"
                },
                {
                  "family": "l2vpn",
                  "subfamily": "evpn"
                },
                {
                  "family": "vpnv4",
                  "subfamily": "unicast"
                },
                {
                  "family": "vpnv6",
                  "subfamily": "unicast"
                }
              ]
            },
            "neighbors": {
              "neighbor": [
                {
                  "peer": "203.0.113.5",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"RR1 Session\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/13/0"
                },
                {
                  "peer": "203.0.113.9",
                  "capability-negotiate": true,
                  "description": "<![CDATA[\"RR2 Session\"]]>",
                  "remote-asn": 65505,
                  "enable": true,
                  "update-source": "GigabitEthernet0/14/0"
                }
              ]
            }
          }
        ]
      }
    },
    "interfaces-config": {
      "interface": [
        {
          "name": "GigabitEthernet0/13/0",
          "description": "<![CDATA[\"To RR1 Router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.6/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/14/0",
          "description": "<![CDATA[\"To RR2 Router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.10/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        },
        {
          "name": "GigabitEthernet0/15/0",
          "description": "<![CDATA[\"To Customer Router\"]]>",
          "enabled": true,
          "ipv4": {
            "enabled": true,
            "forwarding": false,
            "address": {
              "ip": "203.0.113.25/30"
            }
          },
          "ipv6": {
            "enabled": true,
            "forwarding": false
          }
        }
      ]
    }
  }
}