Switching

 View Only
last person joined: 3 days ago 

Ask questions and share experiences about EX and QFX portfolios and all switching solutions across your data center, campus, and branch locations.
  • 1.  Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-10-2023 05:21

    Hello all,

    I am looking for an answer for my issue, which I think should be very simple to be answered by someone which is a bit knowledgeable in the area of multicasting. I have spent some hours googling on the subject, but apart from the statement "it is possible" I can find nowhere HOW to do it.

    What I want to do is forward all multicast traffic to a specific address or interface (one or the other is both suitable), at layer 3. It can be a single multicast address in the 239 range, an ip range within the 239 range or the whole 239 range, it doesn't matter. The route should be used for a complete routing instance. That's basically all... On Linux I use the program "smcroute" for this, which populates the mr cache from a static configuration file.

    For those who'd like some context: this is to deliver (very low bandwidth) data to home automation wireless microcontrollers. I had it working until I decided to move all of my network to L3 and now each device has it's own vlan/range/gateway (even wireless, but not the microcontrollers, they're still in a L2 vlan). I now also have multiple VRF's/routing instances and the leaking between the VRF's is done by an external firewall. So the process should be:

    • wired connected host sends multicast to e.g. 239.255.255.250
    • packet arrives at EX3300 switch interface which has L3 interface configured
    • the EX3300 should forward all multicast traffic to the firewall which is now reachable over a vlan+lag interface which also has a L3 address configured
    • the Linux firewall receives the multicast traffic and forwards it back to the EX3300 over another vlan (using smcroute) and is received into another routing-instance
    • the EX3300 should, from there, forward the multicast to a vlan that is connected to my access points.

    I don't care about traffic deduplication and the dynamic routing aspect of e.g. PIM is not at all required here,. The access points take care of turning the multicast into unicast, so not even IGMP snooping is required. My only goal is to send one packet of data to several hosts at the same time. I am now using directed broadcast for that and of course I don't like it.

    Thanks for your help!



    ------------------------------
    Erik Slagter
    ------------------------------


  • 2.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-22-2023 19:08

    This is how I did it on an MX router. Hope it helps.

    Environment: MX10K router and a self-contained Multicast environment with no remote PE and routing PIM.

    Set RI type to virtual-router. Since I am using PIM the default type of Non-Forwarding is not allowed on the MX, and the RI type of vrf was too complicated to configure. This should create TEST.inet6.

    set routing-instances TEST instance-type virtual-router

    Assign physical or L3 interface to RI. This should create TEST.inet0.

    set routing-instances TEST interface <IRB> or <interface>.

    Create the RIB group and configure the primary RT for that RIB group.

    set routing-options rib-groups TEST-RIBGroup import-rib TEST.inet.0

    Create RIB group template to import default RT direct, local, & static routes into the TEST RI

    set routing-instances TEST routing-options static rib-group TEST-RIBGroup

    set routing-instances TEST routing-options interface-routes rib-group inet TEST-RIBGroup

    Create static route in RI route table.

    set routing-instances TEST routing-options static route <destination IP> next-hop <next-hop IP/ next-hop interface>




  • 3.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-23-2023 12:04
    Edited by Erik Slagter 02-23-2023 12:51

    Hi, thanks!

    Can you also give a bit information of how this works? Most of the above statements I am familiar with, but what does the "ribgroup" and how does the "interface-routes" relate?

    It looks like this only replicates static routes from the default routing instance to another routing-instance (or v.v.)?

    ------------------------------
    Erik Slagter
    ------------------------------



  • 4.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-23-2023 15:33

    Sorry I left out a command in step 3 highlighted:

    set routing-options rib-groups TEST-RIBGroup import-rib TEST.inet.0

    set routing-options rib-groups TEST-RIBGroup import-rib TEST.inet.2

    which is the same as this:

    set routing-options rib-groups TEST-RIBGroup import-rib [ TEST.inet.0 TEST.inet.2 ]

    This allows the import of static, local, and direct routes from TEST.inet.0 into TEST.inet.2 for RPF.




  • 5.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-23-2023 15:47
    I still do not understand. I was trying to manipulate the inet.1 (and
    corresponding VR.inet.1) tables, but that doesn't work, which I guess
    was to be expected as it isn't a real table, more a cache, as I
    understood it.

    So the .2 table is used for RPF? Is the RPF used for "resolving"
    multicast routes? I am not sure here, because as far as I know RPF is
    used for validating which interfaces NOT to flood multicast to. That
    doesn't seem to be my problem, I have too little (actually none)
    interfaces that multicast traffic is flooded to instead of too many.

    Can you please explain?




  • 6.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-23-2023 15:52
    I found this:

    "inet.2???For subsequent address family indicator (SAFI) 2 routes, when
    multiprotocol BGP (MBGP) is enabled. This table stores unicast routes
    that are used for multicast reverse-path-forwarding (RPF) lookup. The
    routes in this table can be used by the Distance Vector Multicast
    Routing Protocol (DVMRP), which requires a specific RPF table. In
    contrast, Protocol Independent Multicast (PIM) does not need this table
    because it can perform RPF checks against the inet.0 table. You can
    import routes from inet.0 into inet.2 using routing information base
    (RIB) groups, or install routes directly into inet.2 from a multicast
    routing protocol."

    (https://www.juniper.net/documentation/us/en/software/junos/static-routing/topics/topic-map/config_junos_routing_table.html)

    I do see the relation with multicast and RPF, but not how this would
    solve my problem (no BGP, no OSPF, no PIM, only static routes, mostly
    static default gw).

    Also I am thinking here, if this works, I do not need to use RIB's to
    copy the local and static routes to inet.0, but a simple static default
    gw to the place where I want the multicast traffic to go to would suffice?




  • 7.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-23-2023 15:58

    Im no multicast expert and I was simply trying to convert Cisco/Brocade mroutes into Junos and this worked for me. Apparently inet.2 is technically not needed, except for MPLS networks, so you could put the static routes into inet.0. I used inet.2 just to keep things seperate. Unfortunately there is not a lot of forum discussion on this topic, so I had to play around with RIB groups a lot to make it work.




  • 8.  RE: Static multicast routing on EX3300 - very simple (I think ;-))

    Posted 02-24-2023 03:06
    Yes it seems there are really not muchh people around having some
    knowledge of multicast, I already found out :-(

    But if you say this, this looks like the effect is the same as putting
    routes into the "normal" routing table (inet.0). But according to the
    normal routing table, the multicast traffic that comes into an interface
    should already be flooded to other interfaces in the same routing
    instance, but it doesn't.

    There are so many options for enabling and adjusting multicast, so
    little documentation and none of them seem to work, it's maddening.