[Xorp-users] Problems with multicast routes

Pavlin Radoslavov pavlin at icir.org
Wed Mar 14 11:41:03 PDT 2007


> My network is like this:
> 
> 
> 0000         0000         0000            0000
> 0 1 0 ------- 0 2 0 ------- 0 3 0 --------- 0 4 0
> 0000         0000         0000            0000
>                                    |                  |
>                                    |                  |
>                                 0000            0000
>                                 0 5 0            0 6 0
>                                 0000            0000
> 
> 
> 1) 200.17.77.5 -> server/client VLC
> 2) 200.17.77.2 - 192.168.0.1 -> XORP router
> 3) 192.168.0.125 - 192.168.1.1 -> XORP router and server/client VLC
> 4) 192.168.1.3 - 192.168.2.1 -> XORP router and server/client VLC
> 5) 192.168.1.2 -> server/client VLC
> 6) 192.168.2.2 -> server/client VLC
> 
> Well,
> If I try to stream from 5 and receieve in 6 - ok
> If I try to stream from 6 and receive in 5 - ok
> If I try to stream from 3 and receive in 1 - ok
> But if I try to stream from 5 and receive in 1 - it doesn't work
> and if I try to stream from 1 and receive in 3, 5 or 6 - it doesn't work
> But if I close xorp in 3 I can stram from 1 and receive in 3
> 
> What can I do to fix it?

Leandro,

You need to apply the following fixes to your configuration:

* Add a static route in (2) to 192.168.2.0/24

* Add a static route in (4) to 192.168.0.0/24 and 200.17.77.0/24

* Remove a static route in (4) to directly connected subnet
  192.168.1.0/24

* Configure the fib2mrib module:

protocols {
    fib2mrib {
        disable: false
    }
}

Also, it seems to be using the Bootstrap mechanism to propagate the
Cand-RP set. You should be aware that on startup it might take up to
1-3 minutes or so until the Cand-RP set is propagated and converged
across your domain, and in the mean time the multicast forwarding
might not work. For testing purpose I'd recommend to use a single
static RP, because it is easier to debug.
E.g., remove all "bootstrap" configuration sections and replace them
with the following static RP configuration (instead of 192.168.1.1
you can choose any of the IP addresses of your XORP routers):

        static-rps {
            rp 192.168.1.1 {
                group-prefix 224.0.0.0/4 {
                    /* rp-priority: 192 */
                    /* hash-mask-len: 30 */
                }
            }
        }

After you get it working with static RP you can switch back to the
Bootstrap mechanism.

Regards,
Pavlin

> 
> Thanks,
> Leandro
> 
> My config.boot for 2, 3 and 4 are:
> 
> 2)
> /*XORP Configuration File*/
> interfaces {
>     interface eth0 {
>         description: "Ethernet"
>         disable: false
>         vif eth0 {
>                 disable: false
>                 address 200.17.77.2 {
>                         prefix-length: 24
>                         broadcast: 200.17.77.255
>                         disable: false
>                 }
>         }
>     }
>     interface eth1 {
>         description: "Ethernet"
>         disable: false
>         vif eth1 {
>                 disable: false
>                 address 192.168.0.1 {
>                         prefix-length: 24
>                         broadcast: 192.168.0.255
>                         disable: false
>                 }
>          }
>     }
>     interface lo {
>         description: "Loopback interface"
>         vif lo {
>         }
>     }
> }
> fea{
>    unicast-forwarding4 {
>         disable: false
>     }
> 
>  }
> protocols {
>    static {
>    route 192.168.1.0/24 {
>         next-hop: 192.168.0.125
>         metric: 1
>    }
> /*   mrib-route 192.168.2.0/16 {
>         next-hop: 192.168.2.1
>         metric: 1
>    }*/
> }
> }
> 
> plumbing {
>     mfea4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>             }
>         }
> 
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
>  }
> protocols {
>     igmp {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> protocols {
>     pimsm4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
> 
>         bootstrap {
>             disable: false
>             cand-bsr {
>                 scope-zone 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                     cand-bsr-by-vif-name: "eth1"
>                     /* cand-bsr-by-vif-addr: 10.10.10.10 */
>                     /* bsr-priority: 1 */
>                     /* hash-mask-len: 30 */
>               }
>             }
> 
>             cand-rp {
>                 group-prefix 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                     cand-rp-by-vif-name: "eth1"
>                     /* cand-rp-by-vif-addr: 10.10.10.10 */
>                     /* rp-priority: 192 */
>                     /* rp-holdtime: 150 */
>               }
>             }
>         }
> 
>         switch-to-spt-threshold {
>             /* approx. 1K bytes/s (10Kbps) threshold */
>             disable: false
>             interval: 100
>             bytes: 102400
>         }
> 
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> -----------------------------------------------
> 3)
> /*XORP Configuration File*/
> interfaces {
>     interface eth0 {
>         description: "Ethernet"
>         disable: false
>         vif eth0 {
>                 disable: false
>                 address 192.168.1.1 {
>                         prefix-length: 24
>                         broadcast: 192.168.1.255
>                         disable: false
>                 }
>         }
>     }
>     interface eth1 {
>         description: "Ethernet"
>         disable: false
>         vif eth1 {
>                 disable: false
>                 address 192.168.0.125 {
>                         prefix-length: 24
>                         broadcast: 192.168.0.255
>                         disable: false
>                 }
>          }
>     }
>     interface lo {
>         description: "Loopback interface"
>         vif lo {
>         }
>     }
> }
> fea{
>    unicast-forwarding4 {
>         disable: false
>     }
> 
>  }
> protocols {
>    static {
>     route 200.17.77.0/24 {
>         next-hop: 192.168.0.1
>         metric: 1
>     }
>     route 191.168.2.0/24 {
>         next-hop: 192.168.1.3
>                 metric: 1
>         }
> 
>     /*mrib-route 10.20.0.0/16 {
>         next-hop: 10.10.10.30
>             metric: 1
>     }*/
> }
> }
> 
> plumbing {
>     mfea4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>             }
>         }
> 
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
>  }
> protocols {
>     igmp {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> protocols {
>     pimsm4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
> 
>         /*static-rps {
>             rp 10.60.0.1 {
>                 group-prefix 224.0.0.0/4 {
>                     /* rp-priority: 192 */
>                     /* hash-mask-len: 30 */
>         /*      }
>             }
>         }
> */
>         bootstrap {
>             disable: false
>             cand-bsr {
>                 scope-zone 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                  cand-bsr-by-vif-name: "eth1"
>                     /* cand-bsr-by-vif-addr: 10.10.10.10 */
>                     /* bsr-priority: 1 */
>                     /* hash-mask-len: 30 */
>               }
>             }
>             cand-rp {
>                 group-prefix 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                     cand-rp-by-vif-name: "eth1"
>                     /* cand-rp-by-vif-addr: 10.10.10.10 */
>                     /* rp-priority: 192 */
>                     /* rp-holdtime: 150 */
>               }
>             }
>         }
> 
>         switch-to-spt-threshold {
>             /* approx. 1K bytes/s (10Kbps) threshold */
>             disable: false
>             interval: 100
>             bytes: 102400
>         }
> 
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> -------------------------------------------
> 4)
> 
> 
> /*XORP Configuration File*/
> interfaces {
>     interface eth0 {
>         description: "Ethernet"
>         disable: false
>         vif eth0 {
>                 disable: false
>                 address 192.168.2.1 {
>                         prefix-length: 24
>                         broadcast: 192.168.2.255
>                         disable: false
>                 }
>         }
>     }
>     interface eth1 {
>         description: "Ethernet"
>         disable: false
>         vif eth1 {
>                 disable: false
>                 address 192.168.1.3 {
>                         prefix-length: 24
>                         broadcast: 192.168.1.255
>                         disable: false
>                 }
>          }
>     }
>     interface lo {
>         description: "Loopback interface"
>         vif lo {
>         }
>     }
> }
> fea{
>    unicast-forwarding4 {
>         disable: false
>     }
> 
>  }
> protocols {
>    static {
>     route 192.168.1.0/24 {
>         next-hop: 192.168.1.1
>         metric: 1
>     }
>     /*mrib-route 10.20.0.0/16 {
>         next-hop: 10.10.10.30
>             metric: 1
>     }*/
> }
> }
> 
> plumbing {
>     mfea4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>             }
>         }
> 
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
>  }
> protocols {
>     igmp {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* version: 2 */
>                 /* enable-ip-router-alert-option-check: false */
>                 /* query-interval: 125 */
>                 /* query-last-member-interval: 1 */
>                 /* query-response-interval: 10 */
>                 /* robust-count: 2 */
>             }
>         }
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> protocols {
>     pimsm4 {
>         disable: false
>         interface eth0 {
>             vif eth0 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface eth1 {
>             vif eth1 {
>                 disable: false
>                 /* enable-ip-router-alert-option-check: false */
>                 /* dr-priority: 1 */
>                 /* hello-period: 30 */
>                 /* hello-triggered-delay: 5 */
>                 /* alternative-subnet 10.40.0.0/16 */
>             }
>         }
>         interface register_vif {
>             vif register_vif {
>                 /* Note: this vif should be always enabled */
>                 disable: false
>             }
>         }
> 
>         /*static-rps {
>             rp 10.60.0.1 {
>                 group-prefix 224.0.0.0/4 {
>                     /* rp-priority: 192 */
>                     /* hash-mask-len: 30 */
>         /*      }
>             }
>         }
> */
>         bootstrap {
>             disable: false
>             cand-bsr {
>                 scope-zone 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                  cand-bsr-by-vif-name: "eth1"
>                     /* cand-bsr-by-vif-addr: 10.10.10.10 */
>                     /* bsr-priority: 1 */
>                     /* hash-mask-len: 30 */
>               }
>             }
>             cand-rp {
>                 group-prefix 224.0.0.0/4 {
>                     /* is-scope-zone: false */
>                     cand-rp-by-vif-name: "eth1"
>                     /* cand-rp-by-vif-addr: 10.10.10.10 */
>                     /* rp-priority: 192 */
>                     /* rp-holdtime: 150 */
>               }
>             }
>         }
> 
>         switch-to-spt-threshold {
>             /* approx. 1K bytes/s (10Kbps) threshold */
>             disable: false
>             interval: 100
>             bytes: 102400
>         }
> 
>         traceoptions {
>             flag all {
>                 disable: false
>             }
>         }
>     }
> }
> _______________________________________________
> Xorp-users mailing list
> Xorp-users at xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users



More information about the Xorp-users mailing list