Skip to content

indexer: treat 0.0.0.0 as wildcard source in enriched-view source_match_status #624

Description

@ben-malbeclabs

Context

enriched_ip_mroute, enriched_ip_msdp_pim_sa_cache, and enriched_ip_msdp_sa_cache each set source_match_status via:

CASE
    WHEN pub.pk != '' THEN 'publisher_matched'
    WHEN source_address = '' OR source_address = '*' THEN 'group_only'
    ELSE 'unknown_source'
END

PIM uses 0.0.0.0 as the wildcard source on the RP-shared tree (*,G) entry. The CASE doesn't recognise 0.0.0.0 as a wildcard, so those rows fall through to unknown_source — which in turn produces a spurious unknown_source anomaly in /delivery-tree for every (*,G) row.

Caught during vihu's verify run against testnet group tiredsolid (233.84.178.6): source_address = 0.0.0.0 reported unknown_source instead of the correct group_only.

Fix

Extend the wildcard check to include 0.0.0.0 in all three views. One-line change per view via a migration that re-creates them.

Acceptance

  • (*,G) rows (source_address in '', '*', or '0.0.0.0') report source_match_status = 'group_only'.
  • /delivery-tree no longer emits unknown_source anomalies for the wildcard entries.
  • Test added (synthetic mroute row with source_address = '0.0.0.0') covering the case.

Source

Introduced in #619 / #620.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions