MP_BGP - Multiprotocol BGP

What is MP_BGP?

MP-BGP (Multiprotocol BGP) is an extension of the Border Gateway Protocol (BGP) that allows it to carry routing information for multiple network layer protocols, not just IPv4 unicast.

Why was MP-BGP introduced?

Standard BGP only supports IPv4 unicast. MP-BGP was introduced to support: * IPV6 routing * Multicast routing * MPLS VPNs (VPNv4/VPNv6) * Layer 2 VPNs (L2VPN) * Ethernet VPNs (EVPN)

What are Address Families (AFI/SAFI)?

MP-BGP uses AFI (Address Family Identifier) and SAFI (Subsequent Address Family Identifier) to distinguish between different types of routing information, such as: * IPv4 unicast: AFI=1, SAFI=1 * IPv6 unicast: AFI=2, SAFI=1 * VPNv4: AFI=1, SAFI=128 * L2VPN: AFI=25, SAFI=70

Is MP-BGP backward compatible with BGP?

Yes. MP-BGP is an extension, so routers that support MP-BGP can still interoperate with routers running standard BGP for IPv4 unicast.

Where is MP-BGP commonly used?

  • Service Provider Networks: For MPLS Layer 3 VPNs

  • Data Centers: For EVPN and VXLAN overlays

  • Multicast Networks: To distribute multicast routing information

  • IPv6 Deployments: To support IPv6 routing alongside IPv4

What are the benefits of MP-BGP?

  • Flexibility: Supports multiple protocols in a single BGP session

  • Scalability: Efficient for large-scale VPN and data center deployments

  • Separation of control planes: Keeps different routing domains logically isolated

  • In this section, you are going to learn

  • Terminology

  • Version Info

Version & RFC Details

MP-BGP Version

RFC Version

Year

Core Idea / Contribution

MP-BGP

RFC 4760

2007

Defines MP-BGP extensions to support multiple address families (AFI/SAFI).

RFC 2858

2000

Original MP-BGP extension (now obsolete, replaced by RFC 4760).

RFC 2545

1999

Use of MP-BGP for IPv6 inter-domain routing.

RFC 3107

2001

Carrying MPLS labels in BGP for MPLS VPNs.

RFC 4364

2006

BGP/MPLS IP VPNs using MP-BGP with VPNv4/v6 address families.

RFC 8277

2017

Updates RFC 3107 to support multiple label bindings per prefix.

RFC 4761

2007

VPLS using BGP for auto-discovery (Layer 2 VPNs).

RFC 4762

2007

VPLS using LDP signaling, complements RFC 4761.

RFC 8955

2020

Dissemination of FlowSpec rules using MP-BGP.

RFC 9012

2021

BGP FlowSpec for IPv6 networks.

  • Setup

  • Setup

MP_BGP OPEN Packet

S.No

Protocol Packets

Description

Size(bytes)

1

OPEN

Initiates a BGP session between peers.

2960

Marker

All 1s for compatibility

16

Length

Total message length

2

Type

Message type (1 = OPEN)

1

Version

BGP version (usually 4)

1

My Autonomous System

Senders AS number

2

Hold Time

Max time before expecting a KEEPALIVE

2

BGP Identifier

Unique router ID (usually an IP address)

4

Optional Parameters Length

Length of optional parameters

1

Optional Parameters

Capabilities (e.g., MP-BGP support via AFI/SAFI)

Variable

MP_BGP UPDATE Packet

S.No

Protocol Packets

Description

Size(bytes)

2

UPDATE

Advertises new routes or withdraws existing ones.

601500

Marker

All 1s

16

Length

Total message length

2

Type

Message type (2 = UPDATE)

1

Withdrawn Routes Length

Length of withdrawn routes field

2

Withdrawn Routes

List of withdrawn prefixes

Variable

Total Path Attribute Length

Length of path attributes

2

Path Attributes

Attributes like ORIGIN, AS_PATH, NEXT_HOP, MP_REACH_NLRI

Variable

NLRI

List of new prefixes (for IPv4 unicast only)

Variable

MP_BGP KEEPALIVE Packet

S.No

Protocol Packets

Description

Size(bytes)

3

KEEPALIVE

Keeps the BGP session alive (sent periodically).

19

Marker

All 1s

16

Length

Always 19

2

Type

Message type (4 = KEEPALIVE)

1

MP_BGP NOTIFICATION Packet

S.No

Protocol Packets

Description

Size(bytes)

4

NOTIFICATION

Indicates an error and terminates the session.

21-50

Marker

All 1s

16

Length

Total message length

2

Type

Message type (3 = NOTIFICATION)

1

Error Code

General error category

1

Error Subcode

Specific error type

1

Data

Optional diagnostic data

Variable

MP-BGP - Use Cases

S.no

Use Case

Description

1

IPv6 Routing

MP-BGP enables the exchange of IPv6 routes over existing IPv4 BGP sessions.

2

MPLS Layer 3 VPN (L3VPN)

Uses VPNv4/VPNv6 address families to support customer VPNs over MPLS backbones.

3

Multicast Routing

Separates unicast and multicast routing tables using different AFI/SAFI pairs.

4

Layer 2 VPN (L2VPN)

Supports services like VPLS and EVPN using MP-BGP for auto-discovery and signaling.

5

Internet Routing Table Separation

Allows ISPs to maintain separate routing tables for different services or tenants.

6

Flow Specification (FlowSpec)

Distributes traffic filtering rules (e.g., DDoS mitigation) using MP-BGP.

7

Route Target Distribution

Distributes VPN route targets dynamically using MP-BGP extensions.

8

Segment Routing with BGP

Carries Segment Routing information for traffic engineering and service chaining.

9

Inter-AS MPLS VPNs

Facilitates VPN connectivity across multiple autonomous systems.

10

Service Provider Backbone

Enables scalable and flexible routing for large-scale service provider networks.

MP-BGP - Basic Features

S.no

Features

Description

1

Multiprotocol Support

Allows BGP to carry routing information for multiple network protocols (e.g., IPv6, VPN).

2

AFI/SAFI Mechanism

Uses Address Family Identifier (AFI) and Subsequent AFI (SAFI) to distinguish route types.

3

MP_REACH_NLRI Attribute

Introduces a new BGP attribute to advertise reachable routes for different protocols.

4

MP_UNREACH_NLRI Attribute

Allows withdrawal of routes for specific address families.

5

Backward Compatibility

Compatible with legacy BGP routers that do not support MP-BGP extensions.

6

Separate Routing Tables

Maintains independent routing tables for each address family (e.g., IPv4, IPv6, VPNv4).

7

Flexible Transport

Can exchange IPv6 routes over IPv4 sessions and vice versa.

8

Scalability

Supports large-scale deployments like MPLS VPNs and service provider backbones.

9

Policy Control

Enables fine-grained control over route advertisement and filtering per address family.

10

Extensibility

Easily extendable to support new address families and services (e.g., FlowSpec, EVPN).

Multiprotocol Support - Testcases

Multiprotocol Support - Test Cases

#

Test Case

Description

Expected Result

1

Basic Internet Access

Private host accesses public website

NAT translates IP and allows access

2

Multiple Hosts Access Internet

Multiple private hosts browse internet

NAT handles all translations

3

PAT with Single Public IP

Multiple hosts share one public IP

All sessions are uniquely translated

4

Dynamic NAT Pool

Use pool of public IPs for internet access

Hosts are dynamically assigned IPs

5

Static NAT for Server

Internal server accesses internet

Static mapping allows access

6

DNS Resolution

Private host resolves domain name

DNS query and response are translated

7

HTTP Access

Access HTTP website from private host

NAT translates TCP port 80 traffic

8

HTTPS Access

Access HTTPS website from private host

NAT translates TCP port 443 traffic

9

FTP Access

Access FTP server from private host

NAT handles control and data channels

10

Email Access

Send/receive email via SMTP/IMAP

NAT translates email protocol ports

11

Streaming Access

Stream video from public service

NAT handles continuous media flow

12

Gaming Access

Connect to online game server

NAT translates game-specific ports

13

VPN Access

Establish VPN tunnel from private host

NAT-T encapsulation used if needed

14

IPsec Tunnel

Create IPsec tunnel from private host

NAT-T allows tunnel establishment

15

NAT with DHCP

Assign private IP via DHCP

NAT translates traffic for DHCP clients

16

NAT with Static IP

Use static private IP

NAT translates traffic normally

17

NAT with IPv4

Access internet using IPv4

NAT translates IPv4 traffic

18

NAT with IPv6

Access IPv6 internet via NAT64

IPv6 translated to IPv4

19

NAT with DNS Proxy

Use DNS proxy for resolution

NAT handles DNS traffic

20

NAT with Web Proxy

Use web proxy for browsing

NAT translates proxy traffic

21

NAT with ACL

Restrict internet access via ACL

Only allowed traffic is translated

22

NAT with QoS

Apply QoS to internet-bound traffic

QoS markings are preserved

23

NAT with Logging

Log internet access via NAT

Logs show translated sessions

24

NAT with SNMP Monitoring

Monitor NAT usage via SNMP

Internet access stats are visible

25

NAT with CLI Monitoring

Use CLI to check NAT status

Internet-bound sessions are listed

26

NAT with Port Forwarding

Allow inbound traffic to internal host

Specific ports are forwarded

27

NAT with Hairpinning

Internal host accesses public IP of peer

Traffic is looped back correctly

28

NAT with Loopback

Access own public IP from inside

Traffic is translated and routed

29

NAT with Redundant Links

Use multiple WAN links

Internet access works across links

30

NAT with Failover

Failover to backup NAT device

Internet access resumes automatically

31

NAT with Load Balancing

Distribute internet traffic

Load is balanced across public IPs

32

NAT with VRF

Internet access per VRF

NAT operates per routing instance

33

NAT with Static Route

Route internet traffic via NAT

Traffic is routed and translated

34

NAT with Dynamic Routing

Use OSPF/BGP for internet traffic

Routing and NAT coexist

35

NAT with DNSSEC

Access DNSSEC-enabled domains

NAT handles secure DNS traffic

36

NAT with WebRTC

Use WebRTC for video calls

NAT handles STUN/TURN/ICE protocols

37

NAT with STUN

Discover public IP via STUN

NAT allows STUN messages

38

NAT with TURN

Relay media via TURN server

NAT allows relay traffic

39

NAT with ICE

Negotiate media path via ICE

NAT supports candidate exchange

40

NAT with Cloud Services

Access cloud APIs from private host

NAT translates traffic to cloud endpoints

41

NAT with Container Networks

Containers access internet

Host NATs container traffic

42

NAT with Kubernetes

Pods access internet via node IP

NAT translates pod traffic

43

NAT with IoT Devices

IoT devices access cloud services

NAT translates traffic securely

44

NAT with Mobile Devices

Mobile clients access internet

NAT handles dynamic sessions

45

NAT with Guest Network

Guest users browse internet

NAT isolates and translates traffic

46

NAT with Endpoint Protection

Secure internet access

NAT works with endpoint security tools

47

NAT with Threat Intelligence

Block malicious destinations

NAT enforces security policies

48

NAT with Compliance Logging

Log internet access for audit

Logs meet compliance standards

49

NAT with Time-Based Rules

Allow internet access during specific hours

NAT enforces schedule

50

NAT with User Authentication

Authenticate users before access

NAT translates traffic post-authentication

AFI_SAFI Mechanism - Testcases

AFI/SAFI Mechanism - Test Cases

#

Test Case

Description

Expected Result

1

AFI/SAFI Capability Exchange

Verify AFI/SAFI in BGP OPEN message

Correct capabilities are advertised

2

IPv4 Unicast AFI/SAFI

Configure AFI=1, SAFI=1

IPv4 unicast routes are exchanged

3

IPv6 Unicast AFI/SAFI

Configure AFI=2, SAFI=1

IPv6 unicast routes are exchanged

4

VPNv4 AFI/SAFI

Configure AFI=1, SAFI=128

VPNv4 routes are exchanged

5

VPNv6 AFI/SAFI

Configure AFI=2, SAFI=128

VPNv6 routes are exchanged

6

EVPN AFI/SAFI

Configure AFI=25, SAFI=70

EVPN routes are exchanged

7

L2VPN AFI/SAFI

Configure AFI=25, SAFI=65

L2VPN routes are exchanged

8

IPv4 Multicast AFI/SAFI

Configure AFI=1, SAFI=2

IPv4 multicast routes are exchanged

9

IPv6 Multicast AFI/SAFI

Configure AFI=2, SAFI=2

IPv6 multicast routes are exchanged

10

FlowSpec IPv4 AFI/SAFI

Configure AFI=1, SAFI=133

IPv4 FlowSpec rules are exchanged

11

FlowSpec IPv6 AFI/SAFI

Configure AFI=2, SAFI=133

IPv6 FlowSpec rules are exchanged

12

Labeled IPv4 Unicast

Configure AFI=1, SAFI=4

Labeled IPv4 routes are exchanged

13

Labeled IPv6 Unicast

Configure AFI=2, SAFI=4

Labeled IPv6 routes are exchanged

14

SRv6 AFI/SAFI

Configure AFI=2, SAFI=73

SRv6 routes are exchanged

15

AFI/SAFI Negotiation Success

Match AFI/SAFI on both peers

Session established, routes exchanged

16

AFI/SAFI Negotiation Failure

Mismatch AFI/SAFI between peers

No route exchange occurs

17

AFI/SAFI with Route Reflector

Use AFI/SAFI in RR setup

Routes are reflected correctly

18

AFI/SAFI with Confederation

Use AFI/SAFI in confed setup

Routes are exchanged within confed

19

AFI/SAFI with Graceful Restart

Restart BGP with AFI/SAFI enabled

Routes are preserved

20

AFI/SAFI with Add-Path

Enable Add-Path for AFI/SAFI

Multiple paths are advertised

21

AFI/SAFI with Route Target

Use RTs in VPN AFI/SAFI

Route import/export works

22

AFI/SAFI with Route Distinguisher

Use RDs in VPN AFI/SAFI

Routes are uniquely identified

23

AFI/SAFI with Route Filtering

Apply filters to AFI/SAFI

Only permitted routes are exchanged

24

AFI/SAFI with Route Aggregation

Aggregate routes in AFI/SAFI

Aggregated routes are advertised

25

AFI/SAFI with Route Dampening

Enable dampening

Flapping routes are suppressed

26

AFI/SAFI with Next-Hop Self

Configure next-hop-self

Next-hop is updated correctly

27

AFI/SAFI with Next-Hop Unchanged

Configure next-hop-unchanged

Original next-hop is preserved

28

AFI/SAFI with BGP Community

Use standard community

Tags are preserved

29

AFI/SAFI with Extended Community

Use extended community

Tags are preserved

30

AFI/SAFI with Large Community

Use large community

Tags are preserved

31

AFI/SAFI with BGP Monitoring Protocol

Monitor AFI/SAFI via BMP

Updates are visible

32

AFI/SAFI with Route Server

Use AFI/SAFI in route server setup

Routes are distributed

33

AFI/SAFI with Static Route Redistribution

Redistribute static routes

Routes appear in BGP table

34

AFI/SAFI with OSPF Redistribution

Redistribute OSPF routes

Routes are advertised

35

AFI/SAFI with IS-IS Redistribution

Redistribute IS-IS routes

Routes are advertised

36

AFI/SAFI with BGP Confederation

Use AFI/SAFI across sub-AS

Routes are exchanged

37

AFI/SAFI with Route Map

Apply route map to AFI/SAFI

Routes are modified as expected

38

AFI/SAFI with Prefix List

Apply prefix list

Only matching prefixes are advertised

39

AFI/SAFI with Policy-Based Routing

Use PBR with AFI/SAFI

Traffic follows policy routes

40

AFI/SAFI with MPLS VPN

Use AFI/SAFI for MPLS VPN

Labels and routes are exchanged

41

AFI/SAFI with Segment Routing

Use AFI/SAFI for SR

SR routes are exchanged

42

AFI/SAFI with EVPN Type 2

Advertise MAC/IP routes

Type 2 routes are exchanged

43

AFI/SAFI with EVPN Type 5

Advertise IP prefix routes

Type 5 routes are exchanged

44

AFI/SAFI with Route Leaking

Leak routes between AFIs

Routes are visible across VRFs

45

AFI/SAFI with VRF Lite

Use AFI/SAFI in VRF Lite

Routes are exchanged per VRF

46

AFI/SAFI with Dual Stack

Enable IPv4 and IPv6

Both route types are exchanged

47

AFI/SAFI with BFD

Use BFD with AFI/SAFI

Session stability is monitored

48

AFI/SAFI with Authentication

Use MD5/auth for BGP

Secure session with AFI/SAFI

49

AFI/SAFI with Route Refresh

Send route refresh

Routes are re-advertised

50

AFI/SAFI with Soft Reconfiguration

Enable soft reconfig

Routes are retained for policy changes

MP_REACH_NLRI Attribute - Testcases

MP_REACH_NLRI Attribute - Test Cases

#

Test Case

Description

Expected Result

1

MP_REACH_NLRI with IPv4 Unicast

Advertise IPv4 unicast prefix

Prefix is received and installed

2

MP_REACH_NLRI with IPv6 Unicast

Advertise IPv6 unicast prefix

Prefix is received and installed

3

MP_REACH_NLRI with VPNv4

Advertise VPNv4 prefix

Prefix is received with RD and RT

4

MP_REACH_NLRI with VPNv6

Advertise VPNv6 prefix

Prefix is received with RD and RT

5

MP_REACH_NLRI with EVPN

Advertise EVPN route

EVPN route is received and processed

6

MP_REACH_NLRI with FlowSpec IPv4

Advertise FlowSpec IPv4 rule

Rule is received and enforced

7

MP_REACH_NLRI with FlowSpec IPv6

Advertise FlowSpec IPv6 rule

Rule is received and enforced

8

MP_REACH_NLRI with L2VPN

Advertise L2VPN route

Route is received and processed

9

MP_REACH_NLRI with SRv6

Advertise SRv6 route

SRv6 route is received

10

MP_REACH_NLRI with Labeled IPv4

Advertise labeled IPv4 route

Label and prefix are received

11

MP_REACH_NLRI with Labeled IPv6

Advertise labeled IPv6 route

Label and prefix are received

12

MP_REACH_NLRI with Next-Hop IPv4

Use IPv4 next-hop

Next-hop is correctly parsed

13

MP_REACH_NLRI with Next-Hop IPv6

Use IPv6 next-hop

Next-hop is correctly parsed

14

MP_REACH_NLRI with Multiple NLRIs

Advertise multiple prefixes

All prefixes are received

15

MP_REACH_NLRI with Invalid AFI

Use unsupported AFI

Update is rejected

16

MP_REACH_NLRI with Invalid SAFI

Use unsupported SAFI

Update is rejected

17

MP_REACH_NLRI with Invalid Next-Hop

Use malformed next-hop

Update is rejected

18

MP_REACH_NLRI with Empty NLRI

Send update with no NLRI

Update is ignored

19

MP_REACH_NLRI with Route Distinguisher

Include RD in VPNv4

RD is parsed and route is installed

20

MP_REACH_NLRI with Route Target

Include RT in VPNv4

RT is used for import/export

21

MP_REACH_NLRI with Add-Path

Send multiple paths

All paths are received

22

MP_REACH_NLRI with Route Aggregation

Send aggregated prefix

Aggregated route is installed

23

MP_REACH_NLRI with Route Reflector

Receive from RR

Route is accepted

24

MP_REACH_NLRI with Confederation

Receive from confed peer

Route is accepted

25

MP_REACH_NLRI with Graceful Restart

Receive during restart

Route is retained

26

MP_REACH_NLRI with Route Refresh

Send refresh request

New MP_REACH_NLRI is received

27

MP_REACH_NLRI with Soft Reconfiguration

Enable soft reconfig

Route is stored in Adj-RIB-In

28

MP_REACH_NLRI with BGP Monitoring

Monitor via BMP

MP_REACH_NLRI is visible

29

MP_REACH_NLRI with BFD

Use BFD for peer

Route is withdrawn on failure

30

MP_REACH_NLRI with Authentication

Use MD5 auth

Route is accepted securely

31

MP_REACH_NLRI with Invalid Length

Send incorrect length

Update is rejected

32

MP_REACH_NLRI with Invalid Prefix

Send malformed prefix

Update is rejected

33

MP_REACH_NLRI with Loopback Prefix

Advertise loopback

Route is installed

34

MP_REACH_NLRI with Null Next-Hop

Send null next-hop

Update is rejected

35

MP_REACH_NLRI with IPv6 Link-Local

Use link-local next-hop

Update is accepted if valid

36

MP_REACH_NLRI with IPv4-Mapped IPv6

Use mapped address

Update is parsed correctly

37

MP_REACH_NLRI with Route Policy

Apply policy to received route

Policy is enforced

38

MP_REACH_NLRI with Prefix List

Filter received prefixes

Only allowed prefixes are installed

39

MP_REACH_NLRI with Community

Include BGP community

Community is preserved

40

MP_REACH_NLRI with Extended Community

Include extended community

Attributes are preserved

41

MP_REACH_NLRI with Large Community

Include large community

Attributes are preserved

42

MP_REACH_NLRI with AS Path

Include AS path

Path is parsed and stored

43

MP_REACH_NLRI with MED

Include MED attribute

MED is honored in best path

44

MP_REACH_NLRI with Local Preference

Include local-pref

Preference is applied

45

MP_REACH_NLRI with Origin

Include origin attribute

Origin is parsed

46

MP_REACH_NLRI with Atomic Aggregate

Include atomic aggregate

Attribute is preserved

47

MP_REACH_NLRI with Aggregator

Include aggregator

Attribute is preserved

48

MP_REACH_NLRI with Unknown Attribute

Include unknown optional transitive

Attribute is preserved and forwarded

49

MP_REACH_NLRI with Optional Non-Transitive

Include optional non-transitive

Attribute is ignored by non-supporting peers

50

MP_REACH_NLRI with Route Withdrawal

Withdraw previously advertised prefix

Route is removed from RIB

MP_UNREACH_NLRI Attribute - Testcases

MP_UNREACH_NLRI Attribute - Test Cases

#

Test Case

Description

Expected Result

1

Withdraw IPv4 Unicast Prefix

Send MP_UNREACH_NLRI for IPv4 unicast

Prefix is removed from RIB

2

Withdraw IPv6 Unicast Prefix

Send MP_UNREACH_NLRI for IPv6 unicast

Prefix is removed from RIB

3

Withdraw VPNv4 Prefix

Send MP_UNREACH_NLRI for VPNv4

VPNv4 route is withdrawn

4

Withdraw VPNv6 Prefix

Send MP_UNREACH_NLRI for VPNv6

VPNv6 route is withdrawn

5

Withdraw EVPN Route

Send MP_UNREACH_NLRI for EVPN

EVPN route is withdrawn

6

Withdraw FlowSpec IPv4 Rule

Send MP_UNREACH_NLRI for FlowSpec IPv4

Rule is removed

7

Withdraw FlowSpec IPv6 Rule

Send MP_UNREACH_NLRI for FlowSpec IPv6

Rule is removed

8

Withdraw L2VPN Route

Send MP_UNREACH_NLRI for L2VPN

Route is removed

9

Withdraw SRv6 Route

Send MP_UNREACH_NLRI for SRv6

SRv6 route is removed

10

Withdraw Labeled IPv4 Route

Send MP_UNREACH_NLRI for labeled IPv4

Route is removed

11

Withdraw Labeled IPv6 Route

Send MP_UNREACH_NLRI for labeled IPv6

Route is removed

12

Withdraw Multiple Prefixes

Withdraw multiple NLRIs in one update

All prefixes are removed

13

Withdraw with Invalid AFI

Use unsupported AFI

Update is rejected

14

Withdraw with Invalid SAFI

Use unsupported SAFI

Update is rejected

15

Withdraw with Empty NLRI

Send MP_UNREACH_NLRI with no prefixes

Update is ignored

16

Withdraw with Invalid Prefix Format

Send malformed prefix

Update is rejected

17

Withdraw with Route Distinguisher

Withdraw VPN route with RD

Route is removed correctly

18

Withdraw with Route Target

Withdraw route with RT

Route is removed from matching VRFs

19

Withdraw with Add-Path

Withdraw specific path

Only that path is removed

20

Withdraw Aggregated Route

Withdraw aggregated prefix

Aggregated route is removed

21

Withdraw from Route Reflector

Receive withdrawal from RR

Route is removed

22

Withdraw from Confederation Peer

Receive withdrawal from confed peer

Route is removed

23

Withdraw During Graceful Restart

Withdraw route during restart

Route is marked stale or removed

24

Withdraw After Route Refresh

Withdraw route after refresh

Route is removed

25

Withdraw with Soft Reconfiguration

Enable soft reconfig

Route is removed from Adj-RIB-In

26

Withdraw with BMP Monitoring

Monitor withdrawal via BMP

Withdrawal is logged

27

Withdraw with BFD Failure

Trigger BFD down

Route is withdrawn

28

Withdraw with Authentication

Use MD5 auth

Route is securely withdrawn

29

Withdraw with Invalid Length

Send incorrect length

Update is rejected

30

Withdraw with Loopback Prefix

Withdraw loopback route

Route is removed

31

Withdraw with Null Next-Hop

Not applicable (no next-hop in MP_UNREACH)

Update is valid

32

Withdraw with IPv6 Link-Local

Withdraw route with link-local next-hop

Route is removed

33

Withdraw with IPv4-Mapped IPv6

Withdraw mapped address

Route is removed

34

Withdraw with Route Policy

Apply policy to withdrawal

Policy is enforced

35

Withdraw with Prefix List

Filter withdrawn prefixes

Only matching prefixes are removed

36

Withdraw with Community

Withdraw route with community

Route is removed

37

Withdraw with Extended Community

Withdraw route with extended community

Route is removed

38

Withdraw with Large Community

Withdraw route with large community

Route is removed

39

Withdraw with AS Path

Withdraw route with AS path

Route is removed

40

Withdraw with MED

Withdraw route with MED

Route is removed

41

Withdraw with Local Preference

Withdraw route with local-pref

Route is removed

42

Withdraw with Origin

Withdraw route with origin attribute

Route is removed

43

Withdraw with Atomic Aggregate

Withdraw route with atomic aggregate

Route is removed

44

Withdraw with Aggregator

Withdraw route with aggregator

Route is removed

45

Withdraw with Unknown Attribute

Withdraw route with unknown attr

Route is removed, attr ignored

46

Withdraw with Optional Non-Transitive

Withdraw route with non-transitive attr

Route is removed

47

Withdraw with Route Leak

Withdraw leaked route

Route is removed from target VRF

48

Withdraw with VRF Lite

Withdraw route in VRF Lite

Route is removed from VRF

49

Withdraw with Dual Stack

Withdraw IPv4 and IPv6 routes

Both are removed

50

Withdraw with Route Server

Withdraw route via route server

Route is removed from clients

Backward Compatibility - Testcases

Backward Compatibility - Test Cases

#

Test Case

Description

Expected Result

1

MP-BGP to Legacy BGP Peer

Establish session with non-MP-BGP peer

Session established, only IPv4 unicast exchanged

2

MP-BGP with IPv4 Unicast Only

Disable MP extensions

IPv4 unicast routes exchanged normally

3

MP-BGP with AFI/SAFI Disabled

Disable all AFI/SAFI

Session established, no multiprotocol routes

4

Legacy BGP Peer Ignores MP Attributes

Send MP_REACH_NLRI to legacy peer

Peer ignores unknown attributes

5

MP-BGP Peer Sends MP_REACH_NLRI

Legacy peer receives MP_REACH_NLRI

Attribute is ignored, session remains stable

6

MP-BGP Peer Sends MP_UNREACH_NLRI

Legacy peer receives MP_UNREACH_NLRI

Attribute is ignored, session remains stable

7

MP-BGP with Graceful Restart

Restart MP-BGP peer

Legacy peer continues with IPv4 unicast

8

MP-BGP with Route Refresh

Send route refresh to legacy peer

Legacy peer ignores or rejects

9

MP-BGP with Add-Path

Send multiple paths

Legacy peer accepts only best path

10

MP-BGP with Extended Next-Hop

Use IPv6 next-hop with legacy peer

Legacy peer rejects or ignores

11

MP-BGP with IPv6 Disabled

Disable IPv6 AFI/SAFI

IPv4 routes exchanged with legacy peer

12

MP-BGP with VPNv4 Disabled

Disable VPNv4

Legacy peer unaffected

13

MP-BGP with EVPN Disabled

Disable EVPN

Legacy peer unaffected

14

MP-BGP with FlowSpec Disabled

Disable FlowSpec

Legacy peer unaffected

15

MP-BGP with Unsupported AFI

Send unsupported AFI

Legacy peer ignores update

16

MP-BGP with Unsupported SAFI

Send unsupported SAFI

Legacy peer ignores update

17

MP-BGP with Optional Transitive Attribute

Send unknown optional transitive

Legacy peer forwards it

18

MP-BGP with Optional Non-Transitive Attribute

Send unknown non-transitive

Legacy peer drops attribute

19

MP-BGP with Community Attribute

Send standard community

Legacy peer processes it

20

MP-BGP with Extended Community

Send extended community

Legacy peer may ignore

21

MP-BGP with Large Community

Send large community

Legacy peer ignores

22

MP-BGP with AS4 Capability

Send 4-byte ASN

Legacy peer with 2-byte ASN handles gracefully

23

MP-BGP with AS_PATH Compatibility

Send AS_PATH with 4-byte ASN

Legacy peer interprets correctly

24

MP-BGP with Aggregator Attribute

Send aggregator

Legacy peer processes it

25

MP-BGP with MED Attribute

Send MED

Legacy peer processes it

26

MP-BGP with Local Preference

Send local-pref

Legacy peer processes it

27

MP-BGP with Origin Attribute

Send origin

Legacy peer processes it

28

MP-BGP with Atomic Aggregate

Send atomic aggregate

Legacy peer processes it

29

MP-BGP with Route Reflector

Use RR with legacy peer

IPv4 routes reflected

30

MP-BGP with Confederation

Use confed with legacy peer

IPv4 routes exchanged

31

MP-BGP with Static Route Redistribution

Redistribute static routes

Legacy peer receives IPv4 routes

32

MP-BGP with OSPF Redistribution

Redistribute OSPF routes

Legacy peer receives IPv4 routes

33

MP-BGP with IS-IS Redistribution

Redistribute IS-IS routes

Legacy peer receives IPv4 routes

34

MP-BGP with Prefix List

Apply prefix list

Legacy peer receives filtered routes

35

MP-BGP with Route Map

Apply route map

Legacy peer receives modified routes

36

MP-BGP with Policy-Based Routing

Use PBR

Legacy peer receives routed traffic

37

MP-BGP with BFD

Use BFD for session

Legacy peer unaffected

38

MP-BGP with Authentication

Use MD5 auth

Legacy peer authenticates successfully

39

MP-BGP with Route Refresh Capability

Enable route refresh

Legacy peer ignores capability

40

MP-BGP with Soft Reconfiguration

Enable soft reconfig

Legacy peer unaffected

41

MP-BGP with BMP Monitoring

Enable BMP

Legacy peer unaffected

42

MP-BGP with Logging Enabled

Enable logging

Legacy peer unaffected

43

MP-BGP with SNMP Monitoring

Enable SNMP

Legacy peer unaffected

44

MP-BGP with IPv4-Mapped IPv6

Send mapped address

Legacy peer ignores

45

MP-BGP with Loopback Prefix

Advertise loopback

Legacy peer installs route

46

MP-BGP with Route Withdrawal

Withdraw IPv4 route

Legacy peer removes route

47

MP-BGP with Route Aggregation

Send aggregated route

Legacy peer installs route

48

MP-BGP with Route Dampening

Enable dampening

Legacy peer unaffected

49

MP-BGP with Route Server

Use route server

Legacy peer receives IPv4 routes

50

MP-BGP with Dual Stack

Enable IPv4 and IPv6

Legacy peer receives only IPv4

Separate Routing Tables - Testcases

Separate Routing Tables - Test Cases

#

Test Case

Description

Expected Result

1

IPv4 Unicast Routing Table

Verify IPv4 unicast routes are stored separately

Only IPv4 unicast routes appear in the table

2

IPv6 Unicast Routing Table

Verify IPv6 unicast routes are stored separately

Only IPv6 unicast routes appear in the table

3

VPNv4 Routing Table

Verify VPNv4 routes are isolated

VPNv4 routes are not mixed with global IPv4

4

VPNv6 Routing Table

Verify VPNv6 routes are isolated

VPNv6 routes are not mixed with global IPv6

5

EVPN Routing Table

Verify EVPN routes are stored separately

EVPN routes are not visible in other AFIs

6

FlowSpec IPv4 Table

Verify FlowSpec IPv4 rules are isolated

Rules are not mixed with unicast routes

7

FlowSpec IPv6 Table

Verify FlowSpec IPv6 rules are isolated

Rules are not mixed with unicast routes

8

L2VPN Routing Table

Verify L2VPN routes are stored separately

L2VPN routes are isolated

9

SRv6 Routing Table

Verify SRv6 routes are stored separately

SRv6 routes are not mixed with IPv6 unicast

10

Labeled IPv4 Routing Table

Verify labeled IPv4 routes are isolated

Label information is preserved

11

Labeled IPv6 Routing Table

Verify labeled IPv6 routes are isolated

Label information is preserved

12

Route Import Between Tables

Import route from one table to another

Route appears only after import policy

13

Route Export Between Tables

Export route to another table

Route appears only after export policy

14

Route Leak Between VRFs

Leak route from one VRF to another

Route appears in target VRF table

15

Route Leak Prevention

Prevent route leak between tables

Route does not appear in unintended table

16

Route Policy Per Table

Apply policy to one table

Policy affects only that table

17

Prefix List Per Table

Apply prefix list to one table

Filtering applies only to that table

18

Route Map Per Table

Apply route map to one table

Modifications apply only to that table

19

BGP Community Per Table

Apply community to one table

Community tags are isolated

20

Extended Community Per Table

Apply extended community

Tags are not shared across tables

21

Large Community Per Table

Apply large community

Tags are isolated per table

22

Next-Hop Self Per Table

Configure next-hop-self

Affects only selected table

23

Next-Hop Unchanged Per Table

Configure next-hop-unchanged

Affects only selected table

24

Route Aggregation Per Table

Aggregate routes in one table

Aggregation does not affect others

25

Route Dampening Per Table

Enable dampening in one table

Flapping routes suppressed only there

26

Route Reflector Per Table

Reflect routes in one table

Other tables are unaffected

27

Confederation Per Table

Use confed in one table

Routes are isolated

28

Graceful Restart Per Table

Restart BGP with one AFI

Other tables are unaffected

29

Add-Path Per Table

Enable Add-Path for one table

Multiple paths appear only there

30

Route Target Filtering

Enable RT filtering in VPN table

Only matching RTs are imported

31

Route Distinguisher Isolation

Use RD in VPN tables

Routes are uniquely identified

32

Static Route Redistribution

Redistribute static into one table

Other tables are unaffected

33

OSPF Redistribution

Redistribute OSPF into one table

Other tables are unaffected

34

IS-IS Redistribution

Redistribute IS-IS into one table

Other tables are unaffected

35

BFD Monitoring Per Table

Enable BFD for one peer

Affects only that tables routes

36

Authentication Per Table

Use MD5 auth for one session

Routes are isolated

37

Route Refresh Per Table

Send refresh for one AFI

Only that table is updated

38

Soft Reconfiguration Per Table

Enable soft reconfig

Applies to selected table only

39

BMP Monitoring Per Table

Monitor one table via BMP

Other tables are not logged

40

SNMP Monitoring Per Table

Monitor one table via SNMP

Other tables are not visible

41

Logging Per Table

Enable logging for one table

Logs show only that tables updates

42

Loopback Prefix Per Table

Advertise loopback in one table

Prefix appears only in that table

43

Route Withdrawal Per Table

Withdraw route from one table

Other tables are unaffected

44

Route Aggregation Conflict

Aggregate same prefix in two tables

Aggregation is handled independently

45

Route Preference Per Table

Set local-pref in one table

Preference applies only there

46

MED Per Table

Set MED in one table

Other tables are unaffected

47

Origin Attribute Per Table

Set origin in one table

Attribute is isolated

48

Atomic Aggregate Per Table

Use atomic aggregate

Applies only to selected table

49

Aggregator Attribute Per Table

Set aggregator

Applies only to selected table

50

Dual Stack Routing Tables

Enable IPv4 and IPv6

Each has its own routing table

Flexible Transport - Testcases

Flexible Transport - Test Cases

#

Test Case

Description

Expected Result

1

TCP Transport Default

Establish MP-BGP session over TCP

Session is successfully established

2

TCP-AO Enabled

Use TCP Authentication Option

Session is authenticated and established

3

TCP-AO with Invalid Key

Use incorrect TCP-AO key

Session fails to establish

4

TCP-AO Key Rotation

Rotate TCP-AO keys

Session remains stable

5

TLS Transport Enabled

Establish MP-BGP over TLS

Secure session is established

6

TLS with Certificate Validation

Use valid certificates

Session is authenticated

7

TLS with Expired Certificate

Use expired certificate

Session fails to establish

8

TLS with Mutual Authentication

Use client and server certs

Session is mutually authenticated

9

TLS with Cipher Suite Restriction

Restrict cipher suites

Only allowed ciphers are used

10

QUIC Transport Enabled

Establish MP-BGP over QUIC

Session is established over UDP

11

QUIC with Packet Loss

Simulate packet loss

QUIC handles retransmission

12

QUIC with Encryption

Use encrypted QUIC session

Data is securely transmitted

13

QUIC with NAT Traversal

Establish session behind NAT

Session is successfully established

14

SCTP Transport Enabled

Use SCTP instead of TCP

Session is established over SCTP

15

SCTP with Multi-Homing

Use multiple IPs for SCTP

Session remains stable on failover

16

SCTP with Stream Isolation

Use multiple streams

Routes are exchanged independently

17

UDP Transport Attempt

Attempt MP-BGP over raw UDP

Session fails (unsupported)

18

Transport Failover TCP to TLS

Switch from TCP to TLS

Session re-establishes securely

19

Transport Failover TLS to QUIC

Switch from TLS to QUIC

Session re-establishes over QUIC

20

Transport Failover SCTP to TCP

Switch from SCTP to TCP

Session re-establishes

21

Transport with IPv4

Use IPv4 for transport

Session is established

22

Transport with IPv6

Use IPv6 for transport

Session is established

23

Transport with Dual Stack

Use both IPv4 and IPv6

Session uses preferred stack

24

Transport with MTU Variation

Change MTU size

Session adapts without fragmentation

25

Transport with Fragmentation

Simulate IP fragmentation

Session remains stable

26

Transport with Jumbo Frames

Use jumbo frames

Session handles large packets

27

Transport with QoS Marking

Apply QoS to transport packets

QoS tags are preserved

28

Transport with DSCP

Use DSCP marking

Traffic is prioritized correctly

29

Transport with Firewall Rules

Allow transport ports

Session is established

30

Transport Blocked by Firewall

Block transport port

Session fails to establish

31

Transport with NAT

Establish session behind NAT

Session is established

32

Transport with PAT

Use port address translation

Session is established

33

Transport with VPN Tunnel

Use VPN for transport

Session is encrypted and stable

34

Transport with IPsec Tunnel

Use IPsec for transport

Session is secure

35

Transport with GRE Tunnel

Use GRE for transport

Session is encapsulated and stable

36

Transport with VXLAN

Use VXLAN overlay

Session is established over overlay

37

Transport with MPLS

Use MPLS transport

Session is established

38

Transport with Segment Routing

Use SR-MPLS or SRv6

Session is established

39

Transport with High Latency

Simulate high latency

Session remains stable

40

Transport with Packet Reordering

Simulate reordering

Session handles out-of-order packets

41

Transport with Packet Duplication

Simulate duplication

Session remains stable

42

Transport with Packet Corruption

Simulate corruption

Session detects and drops invalid packets

43

Transport with BGP Graceful Restart

Restart transport layer

Session resumes without route loss

44

Transport with BGP Fast External Failover

Simulate link failure

Session fails over quickly

45

Transport with BGP Session Protection

Enable session protection

Session is resilient to transport issues

46

Transport with Logging Enabled

Log transport events

Logs show session details

47

Transport with SNMP Monitoring

Monitor transport via SNMP

Transport stats are visible

48

Transport with BMP Monitoring

Monitor transport via BMP

Updates are captured

49

Transport with Authentication Failure

Fail auth mechanism

Session is rejected

50

Transport with Encryption Disabled

Use plaintext transport

Session is established but insecure

Scalability - Testcases

Scalability - Test Cases

#

Test Case

Description

Expected Result

1

1,000 IPv4 Routes

Inject 1,000 IPv4 routes

All routes are processed and installed

2

10,000 IPv4 Routes

Inject 10,000 IPv4 routes

System handles routes without performance degradation

3

100,000 IPv4 Routes

Inject 100,000 IPv4 routes

Routes are processed with acceptable CPU/memory usage

4

1,000 IPv6 Routes

Inject 1,000 IPv6 routes

All routes are processed and installed

5

10,000 IPv6 Routes

Inject 10,000 IPv6 routes

System handles routes efficiently

6

1,000 VPNv4 Routes

Inject 1,000 VPNv4 routes

Routes are installed in VRF tables

7

10,000 VPNv4 Routes

Inject 10,000 VPNv4 routes

System scales with VRF isolation

8

1,000 EVPN Routes

Inject 1,000 EVPN MAC/IP routes

Routes are processed and installed

9

100 Peers

Establish sessions with 100 peers

All sessions are stable

10

500 Peers

Establish sessions with 500 peers

System handles peer scale

11

1,000 Peers

Establish sessions with 1,000 peers

System remains responsive

12

10 Address Families

Enable 10 AFI/SAFI combinations

All tables are maintained separately

13

100 VRFs

Configure 100 VRFs with MP-BGP

Routes are isolated per VRF

14

1,000 Route Updates/sec

Simulate 1,000 updates/sec

System processes updates in real-time

15

10,000 Route Updates/sec

Simulate 10,000 updates/sec

System remains stable

16

1,000 Route Withdrawals/sec

Simulate 1,000 withdrawals/sec

Withdrawals are processed correctly

17

10,000 Route Withdrawals/sec

Simulate 10,000 withdrawals/sec

System remains responsive

18

1,000 Prefixes per Peer

Each peer advertises 1,000 prefixes

All routes are received and installed

19

10,000 Prefixes per Peer

Each peer advertises 10,000 prefixes

System handles load

20

1,000 Route Reflectors

Use 1,000 RRs in topology

Routes are reflected correctly

21

1,000 Confederation Peers

Use confederation with 1,000 peers

Routes are exchanged correctly

22

1,000 Route Policies

Apply 1,000 route policies

Policies are evaluated efficiently

23

1,000 Prefix Lists

Apply 1,000 prefix lists

Filtering is accurate and fast

24

1,000 Route Maps

Apply 1,000 route maps

Routes are modified correctly

25

1,000 Communities

Use 1,000 unique communities

Tags are preserved and processed

26

1,000 Extended Communities

Use 1,000 extended communities

Tags are preserved and processed

27

1,000 Large Communities

Use 1,000 large communities

Tags are preserved and processed

28

1,000 Route Aggregations

Aggregate 1,000 prefixes

Aggregation is handled efficiently

29

1,000 Route Dampening Events

Simulate flapping routes

Dampening suppresses correctly

30

1,000 Graceful Restarts

Restart 1,000 peers

Routes are preserved and reinstalled

31

1,000 Add-Path Routes

Use Add-Path for 1,000 prefixes

Multiple paths are handled

32

1,000 Route Refresh Requests

Send 1,000 refreshes

System responds correctly

33

1,000 Soft Reconfigurations

Enable soft reconfig on 1,000 peers

Memory usage remains within limits

34

1,000 BMP Sessions

Monitor 1,000 peers via BMP

Updates are captured

35

1,000 SNMP Polls

Poll 1,000 BGP objects

System responds accurately

36

1,000 Logging Events/sec

Log 1,000 events/sec

Logs are written without loss

37

1,000 BFD Sessions

Monitor 1,000 peers with BFD

Failures are detected quickly

38

1,000 Authentication Sessions

Use MD5 for 1,000 peers

Sessions are authenticated

39

1,000 Route Target Imports

Import 1,000 RTs

Routes are imported correctly

40

1,000 Route Target Exports

Export 1,000 RTs

Routes are exported correctly

41

1,000 Route Distinguisher Entries

Use 1,000 RDs

VPN routes are uniquely identified

42

1,000 Label Allocations

Allocate 1,000 MPLS labels

Labels are assigned correctly

43

1,000 EVPN MACs

Learn 1,000 MACs via EVPN

MACs are installed in tables

44

1,000 FlowSpec Rules

Install 1,000 FlowSpec rules

Rules are enforced

45

1,000 SRv6 Prefixes

Advertise 1,000 SRv6 routes

Routes are installed

46

1,000 Route Leaks

Leak 1,000 routes between VRFs

Routes are visible in target VRFs

47

1,000 Route Withdrawals

Withdraw 1,000 prefixes

Routes are removed correctly

48

1,000 Path Changes

Change best path for 1,000 prefixes

Best path is recalculated

49

1,000 Peer Flaps

Flap 1,000 peers

System recovers and re-establishes

50

1,000 Converged Routes

Converge 1,000 routes after failure

Convergence is completed quickly

Policy Control - Testcases

Policy Control - Test Cases

#

Test Case

Description

Expected Result

1

Inbound Route Map

Apply route map on inbound routes

Only permitted routes are accepted

2

Outbound Route Map

Apply route map on outbound routes

Only permitted routes are advertised

3

Prefix List Filtering

Use prefix list to filter routes

Only matching prefixes are accepted

4

AS Path Filtering

Filter routes based on AS path

Routes with matching AS path are filtered

5

Community Filtering

Filter routes using standard community

Only routes with matching community are accepted

6

Extended Community Filtering

Filter routes using extended community

Routes are filtered based on extended attributes

7

Large Community Filtering

Use large community for filtering

Routes are filtered accordingly

8

Local Preference Setting

Set local-pref via policy

Local-pref is applied to matching routes

9

MED Setting

Set MED via route map

MED is applied to outbound routes

10

AS Path Prepending

Prepend AS path for specific routes

AS path is modified as configured

11

Next-Hop Modification

Change next-hop in route map

Next-hop is updated

12

Route Tagging

Tag routes with community

Community is attached to matching routes

13

Route Untagging

Remove community from routes

Community is stripped as configured

14

Match on Prefix Length

Match routes by prefix length

Only routes with specified length are accepted

15

Match on Origin

Match routes based on origin type

Routes are filtered accordingly

16

Match on BGP Attributes

Match routes using multiple attributes

Routes are filtered based on all conditions

17

Set Weight

Set BGP weight for selected routes

Weight is applied locally

18

Match on Route Type

Match internal vs external routes

Policy applies based on route type

19

Match on Route Source

Match routes from specific peer

Policy applies only to that peer

20

Policy Per AFI/SAFI

Apply different policies per address family

Each AFI/SAFI has its own policy

21

Policy Per VRF

Apply policy in specific VRF

Routes are filtered within that VRF

22

Policy Per Peer Group

Apply policy to peer group

All peers in group inherit policy

23

Policy Per Neighbor

Apply policy to individual peer

Policy affects only that peer

24

Policy with Route Aggregation

Apply policy to aggregated routes

Aggregated routes are filtered or modified

25

Policy with Route Reflector

Apply policy on RR

Routes are filtered before reflection

26

Policy with Confederation

Apply policy within confed

Routes are filtered within sub-AS

27

Policy with Route Redistribution

Apply policy during redistribution

Only permitted routes are redistributed

28

Policy with Static Routes

Apply policy to static routes

Static routes are filtered or modified

29

Policy with OSPF Redistribution

Apply policy to OSPF routes

Only selected routes are redistributed

30

Policy with IS-IS Redistribution

Apply policy to IS-IS routes

Routes are filtered accordingly

31

Policy with Route Leaking

Control route leak between VRFs

Only permitted routes are leaked

32

Policy with Route Target Import

Filter routes by RT

Only matching RTs are imported

33

Policy with Route Target Export

Control RTs on export

Only selected RTs are attached

34

Policy with Route Distinguisher

Match routes by RD

Routes are filtered by RD

35

Policy with Add-Path

Apply policy to multiple paths

Each path is evaluated separately

36

Policy with Graceful Restart

Apply policy during restart

Routes are filtered on re-advertisement

37

Policy with Route Refresh

Apply policy after refresh

New routes are filtered

38

Policy with Soft Reconfiguration

Apply policy to stored routes

Routes are re-evaluated

39

Policy with BMP Monitoring

Monitor policy impact via BMP

Policy changes are visible in BMP logs

40

Policy with Logging

Log policy matches

Matching routes are logged

41

Policy with SNMP Monitoring

Monitor policy counters

SNMP shows policy hit counts

42

Policy with BFD

Apply policy to BFD-monitored peers

Routes are withdrawn on failure

43

Policy with Authentication

Apply policy to authenticated peers

Routes are filtered post-authentication

44

Policy with Route Withdrawal

Apply policy to withdrawn routes

Logging or actions are triggered

45

Policy with Route Aggregation

Filter or modify aggregated routes

Policy applies to summary routes

46

Policy with EVPN

Apply policy to EVPN routes

MAC/IP routes are filtered

47

Policy with FlowSpec

Apply policy to FlowSpec rules

Only permitted rules are installed

48

Policy with SRv6

Apply policy to SRv6 routes

Routes are filtered or modified

49

Policy with MPLS Labels

Match or set MPLS labels

Labels are modified as per policy

50

Policy with Dual Stack

Apply IPv4 and IPv6 policies separately

Each stack has independent control

Extensibility - Testcases

Extensibility - Test Cases

#

Test Case

Description

Expected Result

1

Add New AFI/SAFI

Introduce a new AFI/SAFI

BGP session remains stable and supports new routes

2

Add Custom AFI

Define a custom AFI

BGP accepts and processes new AFI

3

Add Custom SAFI

Define a custom SAFI

BGP accepts and processes new SAFI

4

Extend MP_REACH_NLRI

Add new NLRI format

BGP processes new format correctly

5

Extend MP_UNREACH_NLRI

Add new withdrawal format

BGP processes withdrawal correctly

6

Add New Optional Attribute

Introduce new optional transitive attribute

Attribute is preserved and propagated

7

Add New Non-Transitive Attribute

Introduce new optional non-transitive attribute

Attribute is ignored by non-supporting peers

8

Add New Well-Known Attribute

Introduce new well-known attribute

Attribute is recognized and enforced

9

Extend BGP OPEN Message

Add new capability code

Capability is negotiated successfully

10

Extend BGP UPDATE Message

Add new encoding

Update is parsed and processed

11

Add New Capability Code

Define new capability

Capability is advertised and understood

12

Add New Error Code

Define new error code

Error is handled gracefully

13

Add New Notification Type

Introduce new notification

Notification is processed correctly

14

Add New Route Family

Support new route family (e.g., SRv6)

Routes are exchanged successfully

15

Add New Address Encoding

Use new address encoding format

BGP processes it correctly

16

Add New Path Attribute Flags

Use new flags in path attributes

Flags are interpreted correctly

17

Add New Community Type

Define new community format

Community is parsed and applied

18

Add New Extended Community Subtype

Introduce new subtype

Subtype is recognized and used

19

Add New Large Community Format

Extend large community

Format is accepted and processed

20

Add New Route Target Format

Use extended RT format

RT is parsed and matched

21

Add New Route Distinguisher Format

Use new RD format

RD is parsed and routes are isolated

22

Add New Label Format

Use new MPLS label encoding

Label is processed correctly

23

Add New Encapsulation Type

Support new tunnel type

Encapsulation is handled

24

Add New SAFI for Multicast

Extend multicast SAFI

Multicast routes are exchanged

25

Add New SAFI for Segment Routing

Extend SAFI for SR

SR routes are exchanged

26

Add New SAFI for FlowSpec

Extend FlowSpec SAFI

New rules are processed

27

Add New SAFI for EVPN

Extend EVPN SAFI

New route types are supported

28

Add New EVPN Route Type

Define new EVPN route type

Route is parsed and installed

29

Add New FlowSpec Component

Define new FlowSpec match type

Rule is enforced correctly

30

Add New BGP Monitoring Capability

Extend BMP support

New telemetry is captured

31

Add New Transport Protocol

Use new transport (e.g., QUIC)

Session is established

32

Add New Authentication Method

Use new auth (e.g., TLS)

Session is secure

33

Add New Encryption Method

Use new encryption (e.g., post-quantum)

Session is encrypted

34

Add New Route Policy Language

Support new policy syntax

Policies are parsed and applied

35

Add New Route Filtering Mechanism

Introduce new filtering logic

Routes are filtered correctly

36

Add New Route Aggregation Logic

Extend aggregation behavior

Aggregates are computed correctly

37

Add New Route Selection Criteria

Use new best path logic

Best path is selected correctly

38

Add New Route Redistribution Source

Redistribute from new protocol

Routes are imported

39

Add New Route Export Target

Export to new protocol

Routes are exported

40

Add New Logging Format

Use new log schema

Logs are generated correctly

41

Add New SNMP MIB

Extend SNMP support

New objects are monitored

42

Add New BMP Message Type

Define new BMP message

Message is captured and logged

43

Add New BGP Role

Define new peer role

Role is enforced in policy

44

Add New Route Leak Control

Introduce new leak prevention

Routes are isolated

45

Add New Graceful Restart Behavior

Extend restart logic

Routes are preserved

46

Add New Route Reflector Behavior

Extend RR logic

Routes are reflected correctly

47

Add New Confederation Behavior

Extend confed logic

Routes are exchanged correctly

48

Add New BGP Session Type

Define new session type

Session is established

49

Add New BGP Peer Group Type

Define new peer group

Group policies are applied

50

Add New BGP Update Compression

Use compressed updates

Updates are transmitted efficiently

  • Reference links