Bruce M Simpson wrote: > > Hi, > > The register vif is a virtual interface in the MROUTING code which is > used to send PIM register messages upstream to the Rendezvous Point > (RP) with the correct encapsulation. > > The FEA code does not give the register vif any special handling, to > avoid introducing a lot of special cases into the code. If you look at > mfea_node.cc you will see the code which allocates a vif index in FEA > space for the register VIF. > > However: The MROUTING vif numbers are unrelated to ifindex, they do > NOT occupy the same space. By the looks of it you've hit the assertion > where the MFEA has allocated a VIF index inside the FEA, where there > is a 'real' system interface sharing the same index. > > Unfortunately the MROUTING code does not allocate a real interface > descriptor from the underlying system. If you look at the MROUTING > code you will see it has a 32 vif limitation due to the API used. > > This is why I strongly recommended looking at the other issues in > MROUTING first before attempting to add multiple FIB support. Well, I haven't actually tested multiple routing tables yet...just working on a single one. The FEA seems to assume that there is no duplication of pif-index, but it seems that the fake register_vif interface just steals a pif_index from a physical interface. I don't think this has anything in particular to do with the multicast vif-index, at least not for the assert that I hit.
I'll have to fix that somehow..maybe make it use a negative of the stolen pif-index or some hack like that... Has anyone attempted multicast routing since Pavlin put in his fea interface hashing code? I'll look into it in more detail today. Thanks, Ben -- Ben Greear <[EMAIL PROTECTED]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
