Skip to content

ospd: NSSA Type-7 LSA Updated Error (Same Prefix, Different Mask) #20386

@Kenzo-Xyy

Description

@Kenzo-Xyy

Description

The topology consists of an FRRouting device connected upstream to two routers, each establishing a BGP session:
One upstream router advertises the route 10.0.0.0/8.
The other advertises 10.0.0.0/9 and 10.128.0.0/9.
The FRRouting device is connected downstream to another router via OSPF in an NSSA area, and redistributes all three BGP-learned routes into OSPF.
Now, when the BGP neighbor that advertises 10.0.0.0/9 and 10.128.0.0/9 is disconnected, the FRRouting device correctly retains only the 10.0.0.0/8 route in its BGP table. However, the downstream OSPF router ends up with only the 10.0.0.0/9 route — which should have been withdrawn — and does not receive the 10.0.0.0/8 route.

Image

Version

unierm# show version 
FRRouting 8.5.3 (unierm) on Linux(4.15.0-29-generic).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:
    '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr' '--sysconfdir=/etc/frr' '--with-vtysh-pager=/usr/bin/pager' '--libdir=/usr/lib/x86_64-linux-gnu/frr' '--with-moduledir=/usr/lib/x86_64-linux-gnu/frr/modules' '--disable-dependency-tracking' '--enable-rpki' '--disable-scripting' '--enable-pim6d' '--with-libpam' '--enable-doc' '--enable-doc-html' '--enable-snmp' '--enable-fpm' '--disable-protobuf' '--disable-zeromq' '--enable-ospfapi' '--enable-bgp-vnc' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' 'build_alias=x86_64-linux-gnu' 'PYTHON=python3'

How to reproduce

only need to disconnect R2 from frr

Expected behavior

R3 should only have 10.0.0.0/8,this is right,I do this using simulate cisco router

Image

Actual behavior

R3 have 10.0.0.0/9,this is wrong,because frr can not get 10.0.0.0/9 or 10.128.0.0/9 any more

Image

Additional context

All Router Configs

config.zip

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triageNeeds further investigation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions