FRRouting / frr

The FRRouting Protocol Suite

Home Page:https://frrouting.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OSPFv3: On having area type as stub does not allow neighbor to redistribute connected

punith-shivakumar opened this issue · comments

Description

When configuring the ABR with a stub area and enabling the redistribution of connected routes with the backbone neighbor, the Type 5 Link State Advertisement (LSA) will not appear in the ABR.

Version

ospf6> show version 
FRRouting 8.4.2 (ospf6) on Linux(4.14.302).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

How to reproduce

Topology

IMG_20240521_044012

  • Configure R1 with below ipv6 address

$ ip -6 addr show

1: Port1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::250:56ff:feb0:1d9f/64 scope link
valid_lft forever preferred_lft forever

2: Port2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:f0e::aaa:16f/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:a3e6/64 scope link
valid_lft forever preferred_lft forever

3: Port3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:be57::aaa:16f/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:dadc/64 scope link
valid_lft forever preferred_lft forever

4: Port4: <BROADCAST,MULTICAST> mtu 1500 state DOWN qlen 1000
inet6 fe80::250:56ff:feb0:3acb/64 scope link tentative
valid_lft forever preferred_lft forever

  • Configure R2 with below ipv6 address

$ ip -6 addr show

1: Port1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::250:56ff:feb0:b2e2/64 scope link
valid_lft forever preferred_lft forever

2: Port2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:be57::aaa:171/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:7b89/64 scope link
valid_lft forever preferred_lft forever

3: Port3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:10ad::aaa:171/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:74bd/64 scope link
valid_lft forever preferred_lft forever

4: Port4: <BROADCAST,MULTICAST> mtu 1500 state DOWN qlen 1000
inet6 fe80::250:56ff:feb0:1b24/64 scope link tentative
valid_lft forever preferred_lft forever`

  • Configure R3 with below ipv6 address

$ ip -6 addr show

1: Port1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::250:56ff:feb0:3b02/64 scope link
valid_lft forever preferred_lft forever

2: Port2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:cafe::aaa:178/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:f1ef/64 scope link
valid_lft forever preferred_lft forever

3: Port3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:10ad::aaa:178/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:7907/64 scope link
valid_lft forever preferred_lft forever

4: Port4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fd1c:c01d:bee3:face::aaa:178/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:feb0:5c51/64 scope link
valid_lft forever preferred_lft forever

  • Configure OSPFv3 on R1

!
! Zebra configuration saved from vty
! 2024/05/20 18:37:06
!
frr version 8.4.2
frr defaults traditional
!
hostname ospf6
log stdout
!
debug ospf6 lsa all
debug ospf6 asbr
debug ospf6 abr
!
!
!
interface Port2
ipv6 ospf6 area 2.2.2.2
exit
!
!
interface Port3
ipv6 ospf6 area 2.2.2.2
exit
!
router ospf6
ospf6 router-id 4.44.44.4
log-adjacency-changes
area 2.2.2.2 stub
exit
!
!
!
line vty
no login
exit
!

  • Configure OSPFv3 on R2

!
! Zebra configuration saved from vty
! 2024/05/20 18:38:26
!
frr version 8.4.2
frr defaults traditional
!
hostname ospf6
log stdout
!
debug ospf6 lsa all
debug ospf6 asbr
debug ospf6 abr
!
!
!
interface Port2
ipv6 ospf6 area 2.2.2.2
exit
!
!
interface Port3
ipv6 ospf6 area 0.0.0.0
exit
!
router ospf6
ospf6 router-id 5.55.55.5
log-adjacency-changes
area 2.2.2.2 stub
exit
!
!
!
line vty
no login
exit
!

  • Configure OSPFv3 on R3

!
! Zebra configuration saved from vty
! 2024/05/20 18:40:36
!
frr version 8.4.2
frr defaults traditional
!
hostname ospf6
log stdout
!
debug ospf6 lsa all
debug ospf6 asbr
debug ospf6 abr
!
!
!
interface Port2
ipv6 ospf6 area 0.0.0.2
exit
!
!
interface Port3
ipv6 ospf6 area 0.0.0.0
exit
!
router ospf6
ospf6 router-id 6.66.66.6
log-adjacency-changes
exit
!
!
!
line vty
no login
exit
!

  • Now configure redistribute connected on R3
    ...
    router ospf6
    ospf6 router-id 6.66.66.6
    log-adjacency-changes
    redistribute connected metric 0
    exit
    ...

  • Redistributed routes do not appear on R2

  • On clearing ospf6 process on R3, I can see redistributed route(fd1c:c01d:bee3:face::aaa:178/64) on R2
    ospf6# clear ipv6 ospf6 process

Expected behavior

On R1

ospf6> show ipv6 ospf6 route
*N IE ::/0 fe80::250:56ff:feb0:7b89 Port2 00:54:57
*N IA fd1c:c01d:bee3:f0e::/64 :: Port2 00:55:37
*N IE fd1c:c01d:bee3:10ad::/64 fe80::250:56ff:feb0:7b89 Port2 00:00:39
*N IA fd1c:c01d:bee3:be57::/64 :: Port3 00:55:37
*N IE fd1c:c01d:bee3:cafe::/64 fe80::250:56ff:feb0:7b89 Port2 00:00:32

On R2

ospf6> show ipv6 ospf6 route
*N IA fd1c:c01d:bee3:f0e::/64 :: Port2 00:55:26
*N IA fd1c:c01d:bee3:10ad::/64 :: Port3 00:00:26
N E2 fd1c:c01d:bee3:10ad::/64 fe80::250:56ff:feb0:7907 Port3 00:00:21
*N IA fd1c:c01d:bee3:be57::/64 :: Port2 00:54:26
N IA fd1c:c01d:bee3:be57::/64 fe80::250:56ff:feb0:a3e6 Port2 00:55:21
*N IE fd1c:c01d:bee3:cafe::/64 fe80::250:56ff:feb0:7907 Port3 00:00:21
N E2 fd1c:c01d:bee3:cafe::/64 fe80::250:56ff:feb0:7907 Port3 00:00:21
*N E2 fd1c:c01d:bee3:face::/64 fe80::250:56ff:feb0:7907 Port3 00:00:21

On R3

ospf6> show ipv6 ospf6 route
*N IE fd1c:c01d:bee3:f0e::/64 fe80::250:56ff:feb0:74bd Port3 00:00:39
*N IA fd1c:c01d:bee3:10ad::/64 :: Port3 00:00:44
*N IE fd1c:c01d:bee3:be57::/64 fe80::250:56ff:feb0:74bd Port3 00:00:39
*N IA fd1c:c01d:bee3:cafe::/64 :: Port2 00:00:45

Actual behavior

On R1

ospf6> show ipv6 ospf6 route
*N IE ::/0 fe80::250:56ff:feb0:7b89 Port2 00:51:15
*N IA fd1c:c01d:bee3:f0e::/64 :: Port2 00:51:55
*N IE fd1c:c01d:bee3:10ad::/64 fe80::250:56ff:feb0:7b89 Port2 00:51:15
*N IA fd1c:c01d:bee3:be57::/64 :: Port3 00:51:55
*N IE fd1c:c01d:bee3:cafe::/64 fe80::250:56ff:feb0:7b89 Port2 00:49:58

On R2

ospf6> show ipv6 ospf6 route
*N IA fd1c:c01d:bee3:f0e::/64 :: Port2 00:51:24
*N IA fd1c:c01d:bee3:10ad::/64 :: Port3 00:49:14
*N IA fd1c:c01d:bee3:be57::/64 :: Port2 00:50:24
N IA fd1c:c01d:bee3:be57::/64 fe80::250:56ff:feb0:a3e6 Port2 00:51:19
*N IE fd1c:c01d:bee3:cafe::/64 fe80::250:56ff:feb0:7907 Port3 00:49:27

On R3

ospf6> show ipv6 ospf6 route
*N IE fd1c:c01d:bee3:f0e::/64 fe80::250:56ff:feb0:74bd Port3 00:50:28
*N IA fd1c:c01d:bee3:10ad::/64 :: Port3 00:49:32
*N IE fd1c:c01d:bee3:be57::/64 fe80::250:56ff:feb0:74bd Port3 00:50:28
*N IA fd1c:c01d:bee3:cafe::/64 :: Port2 00:49:45

Additional context

No response

Checklist

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

Issue that is relevant to #3812

This issue is reproducible with the current master and shouldn't be that hard to fix.