VPP/MFIB

From fd.io
< VPP
Revision as of 15:56, 5 December 2018 by Nranns (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Basics

An IP multicast FIB (mFIB) is a data-structure that holds entries that represent a (S,G) or a (*,G) multicast group. There is one IPv4 and one IPv6 mFIB per IP table, i.e. each time you user calls 'ip[6] table add X' an mFIB is created. A path describes either where a sent is sent to or where a packet is received from. mFIB entries maintain two sets of 'paths'; the forwarding set and the accepting set. Each path in the forwarding set will output a replica of a recieved packet. A recieved packet is only accepted for forwarding if it ingresses on a path that matches inthe accpeting set - this is the RPF check.

To add an entry to the default mFIB for the group (1.1.1.1, 239.1.1.1) that will replicate packets to Eth0/0 and Eth0/1, do:

 ip mroute add 1.1.1.1 239.1.1.1 via Eth0/0 Forwarding
 ip mroute add 1.1.1.1 239.1.1.1 via Eth0/1 Forwarding

the flag 'Forwarding' passed with the path specifies this path to be part of the replication set. To add a path from Eth0/2 to the accepting (RPF) set do:

   ip mroute add 1.1.1.1 239.1.1.1 via Eth0/2 Accept