Skip to content

Add PIM support in netlab topology for FRR startup #3157

@apwiggins

Description

@apwiggins

Adding pim to the list of FRR daemons in topology.yml currently fails:

# ~/src/netlab/2routers$ cat topology.yml 
---
defaults:
    namespace: 2routers
provider: clab
defaults.device: frr
module: [ospf pim ]

nodes: [ r1, r2 ]
links: [ r1, r2, r1-r2 ]

# netlab up

┌──────────────────────────────────────────────────────────────────────────────────┐
│ CREATING configuration files                                                     │
└──────────────────────────────────────────────────────────────────────────────────┘
[ERRORS]  Errors found in topology.yml
[VALUE]   topology: attribute module has invalid value(s): ospf pim
[HINT]    valid values are: bfd, bgp, dhcp, eigrp, evpn, gateway, isis, lag, mpls, ospf, ripv2, routing, sr,
          srv6, stp, vlan, vrf, vxlan
[FATAL]   Cannot proceed beyond this point due to errors, exiting

A workaround is to change the jinja template for FRR (daemons.j2) with pimd=yes

~/src/netlab/2routers$ netlab connect r1
Connecting to container clab-routers-r1, starting bash

Use vtysh to connect to FRR daemon

r1(bash)# vtysh

Hello, this is FRRouting (version 10.5.1_git).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

r1# sho daemons
 mgmtd zebra ospfd ospf6d pimd watchfrr staticd
r1# conf t
r1(config)# router pim
pim   pim6  
r1(config)# router pim
r1(config-pim)# 
  autorp                  AutoRP
  bsr                     Bootstrap Router configuration
  dm                      PIM Dense Mode Multicast
  ecmp                    Enable PIM ECMP 
  end                     End current mode and change to enable mode
  exit                    Exit current mode and down to previous mode
  find                    Find CLI command matching a regular expression
  join-prune-interval     Join Prune Send Interval
  keep-alive-timer        Keep alive Timer
  list                    Print command list
  mlag                    MLAG
  msdp                    MSDP information
  no                      Negate a command or set its defaults
  output                  Direct vtysh output to file
  packets                 packets to process at one time per fd
  quit                    Exit current mode and down to previous mode
  register-accept-list    Only accept registers from a specific source prefix list
  register-suppress-time  Register Suppress Timer
  rp                      Rendezvous Point
  rpf-lookup-mode         RPF lookup behavior
  send-v6-secondary       Send v6 secondary addresses
  spt-switchover          SPT-Switchover
  ssm                     Source Specific Multicast
  ssmpingd                Enable ssmpingd operation

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions