question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Configure IGMP settings on SVIs

See original GitHub issue

Enhancement summary

Enhance vlan_interfaces data model to support IGMP configuration settings according to the documentation:

https://www.arista.com/en/um-eos/eos-igmp-and-igmp-snooping#xx1142409

Which component of AVD is impacted

eos_cli_config_gen

Use case example

For my use case, I only need to activate IGMP inside the SVI, however the data model enhancement should map the rest of the CLI options for IGMP

Example:

interface Vlan30
  ip igmp

Describe the solution you would like

The following is the proposed data model enhancement (adding the igmp part at the end):

vlan_interfaces:
  < Vlan_id_1 >:
    description: < description >
    shutdown: < true | false >
    vrf: < vrf_name >
    arp_aging_timeout: < arp_timeout >
    ip_address: < IPv4_address/Mask >
    ip_address_secondaries:
      - < IPv4_address/Mask >
      - < IPv4_address/Mask >
    ip_virtual_router_addresses:
      - < IPv4_address/Mask | IPv4_address >
      - < IPv4_address/Mask | IPv4_address >
    ip_address_virtual: < IPv4_address/Mask >
    ip_address_virtual_secondaries:
      - < IPv4_address/Mask >
      - < IPv4_address/Mask >
    ip_helpers:
      < ip_helper_address_1 >:
        source_interface: < source_interface_name >
        vrf: < vrf_name >
      < ip_helper_address_2 >:
        source_interface: < source_interface_name >
    ipv6_enable: < true | false >
    ipv6_address: < IPv6_address/Mask >
    ipv6_address_link_local: < link_local_IPv6_address/Mask >
    ipv6_nd_ra_disabled: < true | false >
    ipv6_nd_managed_config_flag: < true | false >
    ipv6_nd_prefixes:
      < IPv6_address_1/Mask >:
        valid_lifetime: < infinite or lifetime in seconds >
        preferred_lifetime: < infinite or lifetime in seconds >
        no_autoconfig_flag: < true | false >
      < IPv6_address_2/Mask >:
    access_group_in: < access_list_name >
    access_group_out: < access_list_name >
    ipv6_access_group_in: < ipv6_access_list_name >
    ipv6_access_group_out: < ipv6_access_list_name >
    multicast:
      ipv4:
        source_route_export:
          enabled: < true | false >
          administrative_distance: < 1-255 >
    ospf_network_point_to_point: < true | false >
    ospf_area: < ospf_area >
    ospf_cost: < ospf_cost >
    ospf_authentication: < none | simple | message-digest >
    ospf_authentication_key: "< encrypted_password >"
    ospf_message_digest_keys:
      < id >:
        hash_algorithm: < md5 | sha1 | sha 256 | sha384 | sha512 >
        key: "< encrypted_password >"
    pim:
      ipv4:
        sparse_mode: < true | false >
        local_interface: < local_interface_name >
    ipv6_virtual_router_address: < IPv6_address >
    isis_enable: < ISIS Instance >
    isis_passive: < boolean >
    isis_metric: < integer >
    isis_network_point_to_point: < boolean >
    mtu: < mtu >
    vrrp:
      virtual_router: < virtual_router_id >
      priority: < instance_priority >
      advertisement_interval: < advertisement_interval>
      preempt_delay_minimum: < minimum_preemption_delay >
      ipv4: < virtual_ip_address >
      ipv6: < virtual_ip_address >
    ip_attached_host_route_export:
      distance: < distance >
    bfd:
      interval: < rate in milliseconds >
      min_rx: < rate in milliseconds >
      multiplier: < 3-50 >
    service_policy:
      pbr:
        input: < policy-map name >
    pvlan_mapping: "< list of vlans as string >"
    igmp:
      enable: <true, false>
      version: <1-3 | default --> 2>
      startup_query_interval: <10-317440 >
      startup_query_count: <1-65535>
      query_interval: <1-3175 >
      query_max_response_time: <1-31744 >
      last_member_query_interval: <10-317440>
      last_member_query_count: <0-3>
      static_groups:
        - <group_address [SOURCE_ADDRESS] >
        - <group_address [SOURCE_ADDRESS] >
    # EOS CLI rendered directly on the VLAN interface in the final EOS configuration
    eos_cli: |
      < multiline eos cli >

Describe alternatives you have considered

using eos_cli

Additional context

No response

Contributing Guide

  • I agree to follow this project’s Code of Conduct

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
UchihaItachiSamacommented, Dec 15, 2021

Proposed data model is:

vlan_interfaces:
  < Vlan_id_1 >:
    igmp:
      enable: <true, false>
      version: <1-3 | default --> 2>
      startup_query_interval: <10-317440 >
      startup_query_count: <1-65535>
      query_interval: <1-3175 >
      query_max_response_time: <1-31744 >
      last_member_query_interval: <10-317440>
      last_member_query_count: <0-3>      
      static_groups:
        - <group_address [SOURCE_ADDRESS] >
        - <group_address [SOURCE_ADDRESS] >

Also, do we also add host-proxy and router-alert to be consistent with the CLI.

#ip igmp ?
  host-proxy                  IGMP host-proxy information
  last-member-query-count     IGMP last member query count
  last-member-query-interval  IGMP last member query interval
  query-interval              Time between IGMP queries
  router-alert                IGMP router-alert options
  startup-query-count         IGMP startup query count
  startup-query-interval      IGMP startup query interval
  static-group                Configured IGMP group membership
  version                     IGMP version
  <cr>
0reactions
ClausHolbechAristacommented, Mar 16, 2022

No worries at all. I will close this issue then, since it has been stale. We can always reopen if something else is needed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Configuring IGMP [Cisco Catalyst 3850 Series Switches]
When a host connected to the switch wants to join an IP multicast group and it is an IGMP version 2 client, it...
Read more >
EOS 4.29.0F - IGMP and IGMP Snooping - Arista
The ip igmp snooping robustness-variable command configures the robustness variable for all snooping packets sent from the switch. The default value is 2...
Read more >
AOS-CX 10.08 Multicast Guide - Aruba Networks
Configuration task list. 360. Multicast VXLAN and EVPN. 360. VSX VTEP. 360. IGMP snooping. 360. PIM and IGMP on SVI with source and...
Read more >
Configuring and displaying IGMP (CLI)
Displays IGMP configuration for a specified VLAN or for all VLANs on the switch. ... Listing of IGMP configuration for all VLANs in...
Read more >
IGMP Filter - NetworkLessons.com
The ip igmp filter command is what we need to activate the IGMP profile. You can activate this on a port, SVI or...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found