Class MacVrfEntryListener
- java.lang.Object
-
- org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
- org.opendaylight.netvirt.elan.evpn.listeners.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).
-
-
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)
-
-
-
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 classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
getWildCardPath
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> getWildCardPath()
- Specified by:
getWildCardPath
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
getDataTreeChangeListener
protected MacVrfEntryListener getDataTreeChangeListener()
- Specified by:
getDataTreeChangeListener
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
add
protected void add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry)
- Specified by:
add
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
update
protected void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry, MacVrfEntry t1)
- Specified by:
update
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
remove
protected void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacVrfEntry> instanceIdentifier, MacVrfEntry macVrfEntry)
- Specified by:
remove
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<MacVrfEntry,MacVrfEntryListener>
-
-