Peer-Group

Test BGP neighbor peer-group functionality. A peer-group is a template that allows defining common BGP configuration parameters in one place, which can then be inherited by multiple neighbors. This simplifies configuration management and ensures consistency across similar peers. When a neighbor is assigned to a peer-group, it inherits settings like soft-reconfiguration, route-maps, and other options configured on the group. Note that the neighbor still requires remote-as to be configured directly in addition to the peer-group assignment. Peer-groups are particularly useful when managing large numbers of similar BGP peers, such as route reflector clients or customers with identical policies.

Test iBGP - Neighbor without peer-group

Description

Baseline test showing standard neighbor configuration without using a peer-group. DUT0 configures the neighbor with remote-as directly. The session establishes and routes are exchanged normally. Note that soft-reconfiguration is NOT enabled.

Scenario

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.10.0.100/24
set protocols bgp 20 neighbor peer remote-address 10.10.0.200
set protocols bgp 20 neighbor peer remote-as 20
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces dummy dum0 address 1.1.1.1/24
set interfaces ethernet eth0 address 10.10.0.200/24
set protocols bgp 20 neighbor peer remote-address 10.10.0.100
set protocols bgp 20 neighbor peer remote-as 20
set protocols bgp 20 redistribute connected
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify iBGP session establishes between DUT0 and DUT1.

Step 3: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:

10.10.0.200.*Established
Show output
IPv4 Unicast Summary:
BGP router identifier 10.10.0.100, local AS number 20 VRF default vrf-id 0
BGP table version 2
RIB entries 3, using 384 bytes of memory
Peers 1, using 24 KiB of memory

Neighbor        LocalAddr       V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down        State   PfxRcd   PfxSnt Desc
10.10.0.200     10.10.0.100     4         20         5         4        2    0    0 00:00:01  Established        2        0 FRRouting/10.4.1

Total number of neighbors 1

Attention

Verify soft-reconfiguration is NOT enabled (no peer-group).

Step 4: Run command protocols bgp show ip neighbors neighbor peer at DUT0 and check if output does not match the following regular expressions:

Inbound soft reconfiguration allowed
Show output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 20, internal link
  Local Role: undefined
  Remote Role: undefined
Hostname: osdx
  BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100
  BGP state = Established, up for 00:00:02
  Last read 00:00:01, Last write 00:00:01
  Hold time is 90 seconds, keepalive interval is 30 seconds
  Configured hold time is 90 seconds, keepalive interval is 30 seconds
  Configured tcp-mss is 0, synced tcp-mss is 1448
  Configured conditional advertisements interval is 60 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    AddPath:
      IPv4 Unicast: RX advertised and received
    Paths-Limit:
      IPv4 Unicast: advertised (0) and received (0)
    Long-lived Graceful Restart: advertised and received
      Address families by peer:
    Route refresh: advertised and received
    Enhanced Route Refresh: advertised and received
    Address Family IPv4 Unicast: advertised and received
    Hostname Capability: advertised (name: osdx,domain name: n/a) received (name: osdx,domain name: n/a)
    Version Capability: advertised software version (FRRouting/10.4.1) received software version (FRRouting/10.4.1)
    Link-Local Next Hop Capability: not advertised not received
    Graceful Restart Capability: advertised and received
      Remote Restart timer is 120 seconds
      Address families by peer:
        none
  Graceful restart information:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode: Helper*
    Remote GR Mode: Helper
    R bit: True
    N bit: True
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 120
      Configured LLGR Stale Path Time(sec): 0
    IPv4 Unicast:
      F bit: False
      End-of-RIB sent: Yes
      End-of-RIB sent after update: Yes
      End-of-RIB received: Yes
      Timers:
        Configured Stale Path Time(sec): 360
        LLGR Stale Path Time(sec): 0
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  2          1
    Notifications:          0          0
    Updates:                1          3
    Keepalives:             1          1
    Route Refresh:          0          0
    Capability:             0          0
    Total:                  4          5

  Prefix statistics:
    Inbound filtered: 0
    AS-PATH loop: 0
    Originator loop: 0
    Cluster loop: 0
    Invalid next-hop: 0
    Withdrawn: 0
    Attributes discarded: 0

  Minimum time between advertisement runs is 0 seconds

 For address family: IPv4 Unicast
  Update group 1, subgroup 1
  Packet Queue length 0
  Community attribute sent to this neighbor(all)
  2 accepted, 0 sent prefixes

  Connections established 1; dropped 0
  Last reset 00:00:04,  Waiting for peer OPEN (FRRouting/10.4.1)
  Internal BGP neighbor may be up to 255 hops away.
Local host: 10.10.0.100, Local port: 179
Foreign host: 10.10.0.200, Foreign port: 40128
Nexthop: 10.10.0.100
Nexthop global: fe80::dcad:beff:feef:6c00
Nexthop local: fe80::dcad:beff:feef:6c00
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 30
Estimated round trip time: 0 ms
Read thread: on  Write thread: on  FD used: 25

Attention

Verify DUT0 receives route 1.1.1.0/24 from DUT1.

Step 5: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:

1.1.1.0/24
Show output
BGP table version is 2, local router ID is 10.10.0.100, vrf id 0
Default local pref 100, local AS 20
local address -
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *ui 1.1.1.0/24       10.10.0.200              0    100      0 ?
 *ui 10.10.0.0/24     10.10.0.200              0    100      0 ?

Displayed 2 routes and 2 total paths

Test iBGP - Neighbor inherits settings from peer-group

Description

Test BGP neighbor peer-group assignment. DUT0 defines a peer-group called INTERNAL with soft-reconfiguration inbound configured. The neighbor is assigned to this peer-group and inherits the soft-reconfiguration setting. This demonstrates how peer-groups allow centralizing common settings that are then inherited by all members.

Scenario

Note

The neighbor requires remote-as configured directly, then peer-group is assigned.

Step 1: Set the following configuration in DUT0 :

set interfaces ethernet eth0 address 10.10.0.100/24
set protocols bgp 20 neighbor peer peer-group INTERNAL
set protocols bgp 20 neighbor peer remote-address 10.10.0.200
set protocols bgp 20 neighbor peer remote-as 20
set protocols bgp 20 peer-group INTERNAL remote-as 20
set protocols bgp 20 peer-group INTERNAL soft-reconfiguration inbound
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Step 2: Set the following configuration in DUT1 :

set interfaces dummy dum0 address 1.1.1.1/24
set interfaces ethernet eth0 address 10.10.0.200/24
set protocols bgp 20 neighbor peer remote-address 10.10.0.100
set protocols bgp 20 neighbor peer remote-as 20
set protocols bgp 20 redistribute connected
set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0'

Attention

Verify iBGP session establishes between DUT0 and DUT1 using peer-group settings.

Step 3: Run command protocols bgp show ip summary at DUT0 and check if output matches the following regular expressions:

10.10.0.200.*Established
Show output
IPv4 Unicast Summary:
BGP router identifier 10.10.0.100, local AS number 20 VRF default vrf-id 0
BGP table version 2
RIB entries 3, using 384 bytes of memory
Peers 1, using 24 KiB of memory
Peer groups 1, using 64 bytes of memory

Neighbor        LocalAddr       V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down        State   PfxRcd   PfxSnt Desc
10.10.0.200     10.10.0.100     4         20         5         4        2    0    0 00:00:02  Established        2        0 FRRouting/10.4.1

Total number of neighbors 1

Attention

Verify the neighbor is associated with the peer-group INTERNAL.

Step 4: Run command protocols bgp show ip neighbors neighbor peer at DUT0 and check if output matches the following regular expressions:

Member of peer-group INTERNAL
Show output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 20, internal link
  Local Role: undefined
  Remote Role: undefined
Hostname: osdx
 Member of peer-group INTERNAL for session parameters
  BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100
  BGP state = Established, up for 00:00:02
  Last read 00:00:01, Last write 00:00:01
  Hold time is 90 seconds, keepalive interval is 30 seconds
  Configured hold time is 90 seconds, keepalive interval is 30 seconds
  Configured tcp-mss is 0, synced tcp-mss is 1448
  Configured conditional advertisements interval is 60 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    AddPath:
      IPv4 Unicast: RX advertised and received
    Paths-Limit:
      IPv4 Unicast: advertised (0) and received (0)
    Long-lived Graceful Restart: advertised and received
      Address families by peer:
    Route refresh: advertised and received
    Enhanced Route Refresh: advertised and received
    Address Family IPv4 Unicast: advertised and received
    Hostname Capability: advertised (name: osdx,domain name: n/a) received (name: osdx,domain name: n/a)
    Version Capability: advertised software version (FRRouting/10.4.1) received software version (FRRouting/10.4.1)
    Link-Local Next Hop Capability: not advertised not received
    Graceful Restart Capability: advertised and received
      Remote Restart timer is 120 seconds
      Address families by peer:
        none
  Graceful restart information:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode: Helper*
    Remote GR Mode: Helper
    R bit: True
    N bit: True
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 120
      Configured LLGR Stale Path Time(sec): 0
    IPv4 Unicast:
      F bit: False
      End-of-RIB sent: Yes
      End-of-RIB sent after update: Yes
      End-of-RIB received: Yes
      Timers:
        Configured Stale Path Time(sec): 360
        LLGR Stale Path Time(sec): 0
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  2          1
    Notifications:          0          0
    Updates:                1          3
    Keepalives:             1          1
    Route Refresh:          0          0
    Capability:             0          0
    Total:                  4          5

  Prefix statistics:
    Inbound filtered: 0
    AS-PATH loop: 0
    Originator loop: 0
    Cluster loop: 0
    Invalid next-hop: 0
    Withdrawn: 0
    Attributes discarded: 0

  Minimum time between advertisement runs is 0 seconds

 For address family: IPv4 Unicast
  INTERNAL peer-group member
  Update group 1, subgroup 1
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  2 accepted, 0 sent prefixes

  Connections established 1; dropped 0
  Last reset 00:00:04,  Waiting for peer OPEN (FRRouting/10.4.1)
  Internal BGP neighbor may be up to 255 hops away.
Local host: 10.10.0.100, Local port: 179
Foreign host: 10.10.0.200, Foreign port: 38066
Nexthop: 10.10.0.100
Nexthop global: fe80::dcad:beff:feef:6c00
Nexthop local: fe80::dcad:beff:feef:6c00
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 30
Estimated round trip time: 0 ms
Read thread: on  Write thread: on  FD used: 25

Attention

Verify neighbor inherited soft-reconfiguration inbound from peer-group.

Step 5: Run command protocols bgp show ip neighbors neighbor peer at DUT0 and check if output matches the following regular expressions:

Inbound soft reconfiguration allowed
Show output
BGP neighbor is 10.10.0.200, remote AS 20, local AS 20, internal link
  Local Role: undefined
  Remote Role: undefined
Hostname: osdx
 Member of peer-group INTERNAL for session parameters
  BGP version 4, remote router ID 10.10.0.200, local router ID 10.10.0.100
  BGP state = Established, up for 00:00:02
  Last read 00:00:01, Last write 00:00:01
  Hold time is 90 seconds, keepalive interval is 30 seconds
  Configured hold time is 90 seconds, keepalive interval is 30 seconds
  Configured tcp-mss is 0, synced tcp-mss is 1448
  Configured conditional advertisements interval is 60 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    AddPath:
      IPv4 Unicast: RX advertised and received
    Paths-Limit:
      IPv4 Unicast: advertised (0) and received (0)
    Long-lived Graceful Restart: advertised and received
      Address families by peer:
    Route refresh: advertised and received
    Enhanced Route Refresh: advertised and received
    Address Family IPv4 Unicast: advertised and received
    Hostname Capability: advertised (name: osdx,domain name: n/a) received (name: osdx,domain name: n/a)
    Version Capability: advertised software version (FRRouting/10.4.1) received software version (FRRouting/10.4.1)
    Link-Local Next Hop Capability: not advertised not received
    Graceful Restart Capability: advertised and received
      Remote Restart timer is 120 seconds
      Address families by peer:
        none
  Graceful restart information:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode: Helper*
    Remote GR Mode: Helper
    R bit: True
    N bit: True
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 120
      Configured LLGR Stale Path Time(sec): 0
    IPv4 Unicast:
      F bit: False
      End-of-RIB sent: Yes
      End-of-RIB sent after update: Yes
      End-of-RIB received: Yes
      Timers:
        Configured Stale Path Time(sec): 360
        LLGR Stale Path Time(sec): 0
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  2          1
    Notifications:          0          0
    Updates:                1          3
    Keepalives:             1          1
    Route Refresh:          0          0
    Capability:             0          0
    Total:                  4          5

  Prefix statistics:
    Inbound filtered: 0
    AS-PATH loop: 0
    Originator loop: 0
    Cluster loop: 0
    Invalid next-hop: 0
    Withdrawn: 0
    Attributes discarded: 0

  Minimum time between advertisement runs is 0 seconds

 For address family: IPv4 Unicast
  INTERNAL peer-group member
  Update group 1, subgroup 1
  Packet Queue length 0
  Inbound soft reconfiguration allowed
  Community attribute sent to this neighbor(all)
  2 accepted, 0 sent prefixes

  Connections established 1; dropped 0
  Last reset 00:00:04,  Waiting for peer OPEN (FRRouting/10.4.1)
  Internal BGP neighbor may be up to 255 hops away.
Local host: 10.10.0.100, Local port: 179
Foreign host: 10.10.0.200, Foreign port: 38066
Nexthop: 10.10.0.100
Nexthop global: fe80::dcad:beff:feef:6c00
Nexthop local: fe80::dcad:beff:feef:6c00
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 30
Estimated round trip time: 0 ms
Read thread: on  Write thread: on  FD used: 25

Attention

Verify DUT0 receives route 1.1.1.0/24 from DUT1.

Step 6: Run command protocols bgp show ip at DUT0 and check if output matches the following regular expressions:

1.1.1.0/24
Show output
BGP table version is 2, local router ID is 10.10.0.100, vrf id 0
Default local pref 100, local AS 20
local address -
Status codes:  s suppressed, d damped, h history, u unsorted, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *ui 1.1.1.0/24       10.10.0.200              0    100      0 ?
 *ui 10.10.0.0/24     10.10.0.200              0    100      0 ?

Displayed 2 routes and 2 total paths