Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pim: any source static multicast route include additional outgoing interface #5512

Closed
Jafaral opened this issue Dec 10, 2019 · 3 comments
Closed
Labels
triage Needs further investigation

Comments

@Jafaral
Copy link
Member

Jafaral commented Dec 10, 2019

given the current config file where two static multicast routes are added, one source specific the other is any source:

frr version 7.2
frr defaults traditional
log syslog informational
service integrated-vtysh-config
!
interface eth0
 ip address 192.168.10.254/24 label eth0.primary
 ip igmp
 ip pim
!
interface eth1
 ip address 192.168.100.254/24 label eth1.primary
 ip igmp
 ip pim
!
interface eth0
 ip mroute eth1 224.1.2.3 4.5.6.7
!
interface eth1
 ip mroute eth0 224.4.5.6
!
line vty
!

Describe the bug
A clear and concise description of what the bug is.

(put "x" in "[ ]" if you already tried following)
[* ] Did you check if this is a duplicate issue?
[ *] Did you test it on the latest FRRouting/frr master branch?

Expected behavior

The kernel mroute table:

(0.0.0.0, 224.4.5.6)             Iif: eth1       Oifs: eth0 eth1 
(4.5.6.7, 224.1.2.3)             Iif: eth0       Oifs: eth1 
(0.0.0.0, 239.255.255.250)       Iif: lo         Oifs: pimreg eth0 lo 

The second line is correct for the specific source [eth0 ==> eth1], but the first line with any source ends up adding the same interface where the multicast is received on as an outgoing interface [eth1 ==> eth0 eth1]. It should be [eth1 ==> eth0]

Expected mroute table:

(0.0.0.0, 224.4.5.6)             Iif: eth1       Oifs: eth0 eth1 
(4.5.6.7, 224.1.2.3)             Iif: eth0       Oifs: eth1 
(0.0.0.0, 239.255.255.250)       Iif: lo         Oifs: pimreg eth0 lo 
@Jafaral Jafaral added the triage Needs further investigation label Dec 10, 2019
@sarav511
Copy link
Contributor

@Jafaral - For (*,G) we deliberately add the iif in oif list. kernel takes care of filtering it. Probably @donaldsharp must be knowing the history. I see the comment in code that this is required for starg to work on kernel.

@Jafaral
Copy link
Member Author

Jafaral commented Dec 10, 2019

referencing #4636 , I had the work around of configuring the static routes later in the file after all interfaces were configured

@donaldsharp
Copy link
Member

yes the oil must have the iif in it when the *,G is installed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

3 participants