Class MacVrfEntryListener

  • All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.EventListener, org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener<MacVrfEntry>, org.opendaylight.serviceutils.tools.mdsal.listener.ChainableDataTreeChangeListener<MacVrfEntry>

    @Singleton
    public class MacVrfEntryListener
    extends org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>
    When RT2 route (advertise of withdraw) is received from peer side. BGPManager will receive the RT2 msg. It will check if the EVPN is configured and Network is attached to EVPN or not. BGPManager will write in path (FibEntries.class).child(VrfTables.class).child(MacVrfEntry.class) which MacVrfEntryListener is listening to. When RT2 advertise route is received: add method of MacVrfEntryListener will install DMAC flows for the received dest MAC in all the DPN's (with this network footprint). When RT2 withdraw route is received: remove method of MacVrfEntryListener will remove DMAC flows for the received dest MAC in all the DPN's (with this network footprint).
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase.DataTreeChangeHandler
    • Field Summary

      • Fields inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        clazz
    • Constructor Summary

      Constructors 
      Constructor Description
      MacVrfEntryListener​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, EvpnMacVrfUtils evpnMacVrfUtils)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void add​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry)  
      protected MacVrfEntryListener getDataTreeChangeListener()  
      protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> getWildCardPath()  
      void init()  
      protected void remove​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry)  
      protected void update​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry, MacVrfEntry t1)  
      • Methods inherited from class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase

        addAfterListener, addBeforeListener, close, deregisterListener, onDataTreeChanged, registerListener
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MacVrfEntryListener

        @Inject
        public MacVrfEntryListener​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
                                   EvpnMacVrfUtils evpnMacVrfUtils)
    • Method Detail

      • init

        @PostConstruct
        public void init()
        Overrides:
        init in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>
      • getWildCardPath

        protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> getWildCardPath()
        Specified by:
        getWildCardPath in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>
      • getDataTreeChangeListener

        protected MacVrfEntryListener getDataTreeChangeListener()
        Specified by:
        getDataTreeChangeListener in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>
      • add

        protected void add​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier,
                           MacVrfEntry macVrfEntry)
        Specified by:
        add in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>
      • remove

        protected void remove​(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier,
                              MacVrfEntry macVrfEntry)
        Specified by:
        remove in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,​MacVrfEntryListener>