github.com/osrg/gobgp/v3@v3.30.0/docs/sources/srv6_mup.md (about) 1 # BGP Extensions for the Mobile User Plane (MUP) SAFI 2 3 This feature is implementation of [the Internet-Draft, BGP Extensions for the Mobile User Plane (MUP) SAFI](https://datatracker.ietf.org/doc/html/draft-mpmz-bess-mup-safi-03). 4 5 ## Contents 6 7 - [CLI Syntax](#cli-syntax) 8 - [Interwork Segment Discovery route](#interwork-segment-discovery-route) 9 - [Direct Segment Discovery route](#direct-segment-discovery-route) 10 - [Type 1 Session Transformed (ST) Route](#type-1-session-transformed-route) 11 - [Type 2 Session Transformed (ST) Route](#type-2-session-transformed-route) 12 - [Example setup with netns](#example-setup-with-netns) 13 14 ## CLI Syntax 15 16 ### Interwork Segment Discovery route 17 18 ```shell 19 # Add a route 20 gobgp global rib add -a ipv4-mup isd <ip prefix> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] 21 gobgp global rib add -a ipv6-mup isd <ip prefix> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] 22 23 # Show routes 24 gobgp global rib -a ipv4-mup 25 gobgp global rib -a ipv6-mup 26 27 # Delete a route 28 gobgp global rib del -a ipv4-mup isd <ip prefix> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] 29 gobgp global rib del -a ipv6-mup isd <ip prefix> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] 30 ``` 31 32 #### Example - Interwork Segment Discovery route 33 34 ```console 35 # IPv4 36 $ gobgp global rib add -a ipv4-mup isd 10.0.0.0/24 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP4E rt 10:10 nexthop 2001::2 37 $ gobgp global rib -a ipv4-mup 38 Network Next Hop AS_PATH Age Attrs 39 *> [type:isd][rd:100:100][prefix:10.0.0.0/24] 2001::2 00:00:09 [{Origin: ?} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 72 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 40 41 # IPv6 42 $ gobgp global rib add -a ipv6-mup isd 2001::/64 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP6E rt 10:10 nexthop 2001::2 43 $ gobgp global rib -a ipv6-mup 44 Network Next Hop AS_PATH Age Attrs 45 *> [type:isd][rd:100:100][prefix:2001::/64] 2001::2 00:00:04 [{Origin: ?} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 71 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 46 ``` 47 48 ### Direct Segment Discovery route 49 50 ```shell 51 # Add a route 52 gobgp global rib add -a ipv4-mup dsd <ip address> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] [mup <segment identifier>] 53 gobgp global rib add -a ipv6-mup dsd <ip address> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] [mup <segment identifier>] 54 55 # Show routes 56 gobgp global rib -a ipv4-mup 57 gobgp global rib -a ipv6-mup 58 59 # Delete a route 60 gobgp global rib del -a ipv4-mup dsd <ip address> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] [mup <segment identifier>] 61 gobgp global rib del -a ipv6-mup dsd <ip address> rd <rd> prefix <prefix> locator-node-length <locator-node-length> function-length <function-length> behavior <behavior> [rt <rt>...] [mup <segment identifier>] 62 ``` 63 64 #### Example - Direct Segment Discovery route 65 66 ```console 67 # IPv4 68 $ gobgp global rib add -a ipv4-mup dsd 10.0.0.1 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior END_DT4 rt 10:10 mup 10:10 nexthop 2001::2 69 70 $ gobgp global rib -a ipv4-mup 71 Network Next Hop AS_PATH Age Attrs 72 *> [type:dsd][rd:100:100][prefix:10.0.0.1] 2001::2 00:00:03 [{Origin: ?} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 19 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 73 74 # IPv6 75 $ gobgp global rib add -a ipv6-mup dsd 2001::1 rd 100:100 prefix 2001:db8:2:2::/64 locator-node-length 24 function-length 16 behavior END_DT6 rt 10:10 mup 10:10 nexthop 2001::2 76 77 $ gobgp global rib -a ipv6-mup 78 Network Next Hop AS_PATH Age Attrs 79 *> [type:dsd][rd:100:100][prefix:2001::1] 2001::2 00:00:04 [{Origin: ?} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:2:2:: Flag: 0 Endpoint Behavior: 18 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 80 ``` 81 82 ### Type 1 Session Transformed Route 83 84 ```shell 85 # Add a route 86 gobgp global rib add -a ipv4-mup t1st <ip prefix> rd <rd> [rt <rt>...] teid <teid> qfi <qfi> endpoint <endpoint> [source <source>] 87 gobgp global rib add -a ipv6-mup t1st <ip prefix> rd <rd> [rt <rt>...] teid <teid> qfi <qfi> endpoint <endpoint> [source <source>] 88 89 # Show routes 90 gobgp global rib -a ipv4-mup 91 gobgp global rib -a ipv6-mup 92 93 # Delete a route 94 gobgp global rib del -a ipv4-mup t1st <ip prefix> rd <rd> [rt <rt>...] teid <teid> qfi <qfi> endpoint <endpoint> [source <source>] 95 gobgp global rib del -a ipv6-mup t1st <ip prefix> rd <rd> [rt <rt>...] teid <teid> qfi <qfi> endpoint <endpoint> [source <source>] 96 ``` 97 98 The format of the TEID: hexadecimal (beginning with '0x'), decimal (uint32), or IPv4. 99 100 #### Example - Type 1 Session Transformed Route 101 102 ```console 103 # IPv4 104 $ gobgp global rib add -a ipv4-mup t1st 192.168.0.1/32 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 10.0.0.1 nexthop 10.0.0.2 105 106 $ gobgp global rib -a ipv4-mup 107 Network Next Hop AS_PATH Age Attrs 108 *> [type:t1st][rd:100:100][prefix:192.168.0.1/32][teid:0x00003039][qfi:9][endpoint:10.0.0.1] 10.0.0.2 00:00:03 [{Origin: ?} {Extcomms: [10:10]}] 109 110 # IPv6 111 $ gobgp global rib add -a ipv6-mup t1st 2001:db8:1:1::1/128 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 2001::1 nexthop 10.0.0.2 112 113 $ gobgp global rib -a ipv6-mup 114 Network Next Hop AS_PATH Age Attrs 115 *> [type:t1st][rd:100:100][prefix:2001:db8:1:1::1/128][teid:0x00003039][qfi:9][endpoint:2001::1] 10.0.0.2 00:00:05 [{Origin: ?} {Extcomms: [10:10]}] 116 ``` 117 118 ### Type 2 Session Transformed Route 119 120 ```shell 121 # Add a route 122 gobgp global rib add -a ipv4-mup t2st <endpoint address> rd <rd> [rt <rt>...] endpoint-address-length <endpoint-address-length> teid <teid> [mup <segment identifier>] 123 gobgp global rib add -a ipv6-mup t2st <endpoint address> rd <rd> [rt <rt>...] endpoint-address-length <endpoint-address-length> teid <teid> [mup <segment identifier>] 124 125 # Show routes 126 gobgp global rib -a ipv4-mup 127 gobgp global rib -a ipv6-mup 128 129 # Delete a route 130 gobgp global rib del -a ipv4-mup t2st <endpoint address> rd <rd> [rt <rt>...] endpoint-address-length <endpoint-address-length> teid <teid> [mup <segment identifier>] 131 gobgp global rib del -a ipv6-mup t2st <endpoint address> rd <rd> [rt <rt>...] endpoint-address-length <endpoint-address-length> teid <teid> [mup <segment identifier>] 132 ``` 133 134 The format of the TEID: hexadecimal (beginning with '0x'), decimal (uint32), or IPv4. 135 136 #### Example - Type 2 Session Transformed Route 137 138 ```console 139 # IPv4 140 $ gobgp global rib add -a ipv4-mup t2st 10.0.0.1 rd 100:100 rt 10:10 endpoint-address-length 64 teid 12345 mup 10:10 nexthop 10.0.0.2 141 142 $ gobgp global rib -a ipv4-mup 143 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 144 *> [type:t2st][rd:100:100][endpoint-address-length:64][endpoint:10.0.0.1][teid:0.0.48.57] 10.0.0.2 00:00:21 [{Origin: ?} {Extcomms: [10:10], [10:10]}] 145 146 # IPv6 147 $ gobgp global rib add -a ipv6-mup t2st 2001::1 rd 100:100 rt 10:10 endpoint-address-length 160 teid 12345 mup 10:10 nexthop 10.0.0.2 148 149 $ gobgp global rib -a ipv6-mup 150 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 151 *> [type:t2st][rd:100:100][endpoint-address-length:160][endpoint:2001::1][teid:0.0.48.57] 10.0.0.2 00:00:47 [{Origin: ?} {Extcomms: [10:10], [10:10]}] 152 ``` 153 154 ## Example setup with netns 155 156 ### gobgpd configuration 157 158 #### gobgpd1.toml 159 160 ```toml 161 [global.config] 162 as = 65000 163 router-id = "10.0.0.1" 164 local-address-list = ["10.0.0.1"] 165 166 [[neighbors]] 167 [neighbors.config] 168 peer-as = 65000 169 local-as = 65000 170 neighbor-address = "10.0.0.2" 171 [[neighbors.afi-safis]] 172 [neighbors.afi-safis.config] 173 afi-safi-name = "ipv4-mup" 174 [[neighbors.afi-safis]] 175 [neighbors.afi-safis.config] 176 afi-safi-name = "ipv6-mup" 177 ``` 178 179 #### gobgpd2.toml 180 181 ```toml 182 [global.config] 183 as = 65000 184 router-id = "10.0.0.2" 185 local-address-list = ["10.0.0.2"] 186 187 [[neighbors]] 188 [neighbors.config] 189 peer-as = 65000 190 local-as = 65000 191 neighbor-address = "10.0.0.1" 192 [[neighbors.afi-safis]] 193 [neighbors.afi-safis.config] 194 afi-safi-name = "ipv4-mup" 195 [[neighbors.afi-safis]] 196 [neighbors.afi-safis.config] 197 afi-safi-name = "ipv6-mup" 198 ``` 199 200 ### Setup netns 201 202 ```shell 203 sudo ip link add veth0 type veth peer name veth1 204 205 sudo ip netns add red 206 sudo ip link set veth0 netns red 207 sudo ip netns exec red ip link set up lo 208 sudo ip netns exec red ip link set up veth0 209 sudo ip netns exec red ip addr add 10.0.0.1/24 dev veth0 210 211 sudo ip netns add blue 212 sudo ip link set veth1 netns blue 213 sudo ip netns exec blue ip link set up lo 214 sudo ip netns exec blue ip link set up veth1 215 sudo ip netns exec blue ip addr add 10.0.0.2/24 dev veth1 216 ``` 217 218 ### Run gobgpd 219 220 ```shell 221 sudo ip netns exec red gobgpd -f ./gobgp1.toml 222 sudo ip netns exec blue gobgpd -f ./gobgp2.toml 223 ``` 224 225 ### IPv4 226 227 #### Add MUP Routes (IPv4) 228 229 ```shell 230 sudo ip netns exec red gobgp global rib add -a ipv4-mup isd 10.0.0.0/24 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP4E rt 10:10 nexthop 2001::2 231 sudo ip netns exec red gobgp global rib add -a ipv4-mup dsd 10.0.0.1 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior END_DT4 rt 10:10 mup 10:10 nexthop 2001::2 232 sudo ip netns exec red gobgp global rib add -a ipv4-mup t1st 192.168.0.1/32 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 10.0.0.1 nexthop 10.0.0.2 233 sudo ip netns exec red gobgp global rib add -a ipv4-mup t2st 10.0.0.1 rd 100:100 rt 10:10 teid 12345 mup 10:10 nexthop 10.0.0.2 234 ``` 235 236 #### Show MUP Routes (IPv4) 237 238 ```console 239 $ sudo ip netns exec red gobgp global rib -a ipv4-mup 240 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 241 *> [type:isd][rd:100:100][prefix:10.0.0.0/24] 2001::2 00:00:19 [{Origin: ?} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 72 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 242 *> [type:dsd][rd:100:100][prefix:10.0.0.1] 2001::2 00:00:18 [{Origin: ?} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 19 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 243 *> [type:t1st][rd:100:100][prefix:192.168.0.1/32] 0.0.48.57 9 10.0.0.1 10.0.0.2 00:00:18 [{Origin: ?} {Extcomms: [10:10]}] 244 *> [type:t2st][rd:100:100][endpoint-address-length:64][endpoint:10.0.0.1][teid:0.0.48.57] 245 246 $ sudo ip netns exec blue gobgp global rib -a ipv4-mup Network Next Hop AS_PATH Age Attrs 247 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 248 *> [type:isd][rd:100:100][prefix:10.0.0.0/24] 2001::2 00:00:56 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 72 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 249 *> [type:dsd][rd:100:100][prefix:10.0.0.1] 2001::2 00:00:56 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 19 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 250 *> [type:t1st][rd:100:100][prefix:192.168.0.1/32] 0.0.48.57 9 10.0.0.1 10.0.0.2 00:00:56 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10]}] 251 *> [type:t2st][rd:100:100][endpoint-address-length:64][endpoint:10.0.0.1][teid:0.0.48.57] 10.0.0.2 00:00:26 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10], [10:10]}] 252 ``` 253 254 #### Delete MUP Routes (IPv4) 255 256 ```shell 257 sudo ip netns exec red gobgp global rib del -a ipv4-mup isd 10.0.0.0/24 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP4E rt 10:10 nexthop 2001::2 258 sudo ip netns exec red gobgp global rib del -a ipv4-mup dsd 10.0.0.1 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior END_DT4 rt 10:10 mup 10:10 nexthop 2001::2 259 sudo ip netns exec red gobgp global rib del -a ipv4-mup t1st 192.168.0.1/32 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 10.0.0.1 nexthop 10.0.0.2 260 sudo ip netns exec red gobgp global rib del -a ipv4-mup t2st 10.0.0.1 rd 100:100 rt 10:10 teid 12345 mup 10:10 nexthop 10.0.0.2 261 ``` 262 263 ### IPv6 264 265 #### Add MUP Routes (IPv6) 266 267 ```shell 268 sudo ip netns exec red gobgp global rib add -a ipv6-mup isd 2001::/64 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP6E rt 10:10 nexthop 2001::2 269 sudo ip netns exec red gobgp global rib add -a ipv6-mup dsd 2001::1 rd 100:100 prefix 2001:db8:2:2::/64 locator-node-length 24 function-length 16 behavior END_DT6 rt 10:10 mup 10:10 nexthop 2001::2 270 sudo ip netns exec red gobgp global rib add -a ipv6-mup t1st 2001:db8:1:1::1/128 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 2001::1 nexthop 10.0.0.2 271 sudo ip netns exec red gobgp global rib add -a ipv6-mup t2st 2001::1 rd 100:100 rt 10:10 teid 12345 mup 10:10 nexthop 10.0.0.2 272 ``` 273 274 #### Show MUP Routes (IPv6) 275 276 ```console 277 $ sudo ip netns exec red gobgp global rib -a ipv6-mup 278 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 279 *> [type:isd][rd:100:100][prefix:2001::/64] 2001::2 00:00:14 [{Origin: ?} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 71 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 280 *> [type:dsd][rd:100:100][prefix:2001::1] 2001::2 00:00:14 [{Origin: ?} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:2:2:: Flag: 0 Endpoint Behavior: 18 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 281 *> [type:t1st][rd:100:100][prefix:2001:db8:1:1::1/128] 0.0.48.57 9 2001::1 10.0.0.2 00:00:14 [{Origin: ?} {Extcomms: [10:10]}] 282 *> [type:t2st][rd:100:100][endpoint-address-length:160][endpoint:2001::1][teid:0.0.48.57] 10.0.0.2 00:00:14 [{Origin: ?} {Extcomms: [10:10], [10:10]}] 283 284 $ sudo ip netns exec blue gobgp global rib -a ipv6-mup 285 Network TEID QFI Endpoint Next Hop AS_PATH Age Attrs 286 *> [type:isd][rd:100:100][prefix:2001::/64] 2001::2 00:00:18 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:1:1:: Flag: 0 Endpoint Behavior: 71 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 287 *> [type:dsd][rd:100:100][prefix:2001::1] 2001::2 00:00:18 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10], [10:10]} {Prefix SID attributes: {SRv6 L3 Service Attribute: {SRv6 Information Sub TLV: SID: 2001:db8:2:2:: Flag: 0 Endpoint Behavior: 18 {SRv6 Structure Sub Sub TLV: [ Locator Block Length: 64, Locator Node Length: 24, Function Length: 16, Argument Length: 0, Transposition Length: 0, Transposition Offset: 0] } } } }] 288 *> [type:t1st][rd:100:100][prefix:2001:db8:1:1::1/128] 0.0.48.57 9 2001::1 10.0.0.2 00:00:18 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10]}] 289 *> [type:t2st][rd:100:100][endpoint-address-length:160][endpoint:2001::1][teid:0.0.48.57] 10.0.0.2 00:00:18 [{Origin: ?} {LocalPref: 100} {Extcomms: [10:10], [10:10]}] 290 ``` 291 292 #### Delete MUP Routes (IPv6) 293 294 ```shell 295 sudo ip netns exec red gobgp global rib del -a ipv6-mup isd 2001::/64 rd 100:100 prefix 2001:db8:1:1::/64 locator-node-length 24 function-length 16 behavior ENDM_GTP6E rt 10:10 nexthop 2001::2 296 sudo ip netns exec red gobgp global rib del -a ipv6-mup dsd 2001::1 rd 100:100 prefix 2001:db8:2:2::/64 locator-node-length 24 function-length 16 behavior END_DT6 rt 10:10 mup 10:10 nexthop 2001::2 297 sudo ip netns exec red gobgp global rib del -a ipv6-mup t1st 2001:db8:1:1::1/128 rd 100:100 rt 10:10 teid 12345 qfi 9 endpoint 2001::1 nexthop 10.0.0.2 298 sudo ip netns exec red gobgp global rib del -a ipv6-mup t2st 2001::1 rd 100:100 rt 10:10 teid 12345 mup 10:10 nexthop 10.0.0.2 299 ```