VrfTables vrfTableNew = new VrfTablesBuilder().setRouteDistinguisher(rd).
setVrfEntry(vrfEntryList).build();
- write(LogicalDatastoreType.CONFIGURATION, vrfTableId, vrfTableNew);
+ write(LogicalDatastoreType.OPERATIONAL, vrfTableId, vrfTableNew);
}
InstanceIdentifierBuilder<VrfEntry> idBuilder =
InstanceIdentifier.builder(FibEntries.class).child(VrfTables.class, new VrfTablesKey(rd)).child(VrfEntry.class, new VrfEntryKey(prefix));
InstanceIdentifier<VrfEntry> vrfEntryId = idBuilder.build();
- delete(LogicalDatastoreType.CONFIGURATION, vrfEntryId);
+ delete(LogicalDatastoreType.OPERATIONAL, vrfEntryId);
}
public synchronized void removeVrfFromDS(String rd) {
- logger.debug("Removing vrf table for rd {}", rd);
+ logger.debug("Removing vrf table for rd {}", rd);
InstanceIdentifierBuilder<VrfTables> idBuilder =
InstanceIdentifier.builder(FibEntries.class).child(VrfTables.class, new VrfTablesKey(rd));
InstanceIdentifier<VrfTables> vrfTableId = idBuilder.build();
- delete(LogicalDatastoreType.CONFIGURATION, vrfTableId);
+ delete(LogicalDatastoreType.OPERATIONAL, vrfTableId);
}
}
private void registerListener(final DataBroker db) {
- final DataTreeIdentifier<VrfEntry> treeId = new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, getWildCardPath());
+ final DataTreeIdentifier<VrfEntry> treeId = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, getWildCardPath());
try {
listenerRegistration = db.registerDataTreeChangeListener(treeId, MockFibManager.this);
} catch (final Exception e) {
}
break;
default:
- throw new IllegalArgumentException("Unhandled modification type " + mod.getModificationType());
+ throw new IllegalArgumentException("Unhandled modification type " + mod.getModificationType());
}
}
}
module odl-fib {
- namespace "urn:opendaylight:vpnservice:fibmanager";
- prefix odl-fib;
-
- revision "2015-03-30" {
- description "FIB Manager module";
- }
-
- grouping ipv4Entries{
- list ipv4Entry{
- key "destPrefix";
- leaf destPrefix {type string;}
- leaf nextHopAddress {type string;}
- }
- }
+ namespace "urn:opendaylight:vpnservice:fibmanager";
+ prefix odl-fib;
- grouping vrfEntries{
- list vrfEntry{
- key "destPrefix";
- leaf destPrefix {type string;}
- leaf label {type uint32;}
- leaf nextHopAddress {type string;}
- }
- }
+ revision "2015-03-30" {
+ description "FIB Manager module";
+ }
- container fibEntries {
- list vrfTables{
- key "routeDistinguisher";
- leaf routeDistinguisher {type string;}
- uses vrfEntries;
- }
- container ipv4Table{
- uses ipv4Entries;
- }
- }
+ grouping ipv4Entries{
+ list ipv4Entry{
+ key "destPrefix";
+ leaf destPrefix {type string;}
+ leaf nextHopAddress {type string;}
+ }
+ }
+
+ grouping vrfEntries{
+ list vrfEntry{
+ key "destPrefix";
+ leaf destPrefix {
+ type string;
+ mandatory true;
+ }
+ leaf label {
+ type uint32;
+ mandatory true;
+ }
+ leaf nextHopAddress {
+ type string;
+ }
+ }
+ }
+
+ container fibEntries {
+ config false;
+ list vrfTables{
+ key "routeDistinguisher";
+ leaf routeDistinguisher {type string;}
+ uses vrfEntries;
+ }
+
+ container ipv4Table{
+ uses ipv4Entries;
+ }
+ }
}
\ No newline at end of file
private void registerListener(final DataBroker db) {
try {
- listenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.CONFIGURATION,
+ listenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
getWildCardPath(), FibManager.this, DataChangeScope.SUBTREE);
} catch (final Exception e) {
LOG.error("FibManager DataChange listener registration fail!", e);
try {
destPrefix = InetAddress.getByName(ipAddress);
} catch (UnknownHostException e) {
- LOG.error("UnknowHostException in addRoute. Failed to add Route for ipPrefix {}", vrfEntry.getDestPrefix());
+ LOG.error("UnknowHostException in addRoute. Failed to add Route for ipPrefix {}", vrfEntry.getDestPrefix());
return;
}
public void populateFibOnNewDpn(BigInteger dpnId, long vpnId, String rd) {
LOG.trace("New dpn {} for vpn {} : populateFibOnNewDpn", dpnId, rd);
InstanceIdentifier<VrfTables> id = buildVrfId(rd);
- Optional<VrfTables> vrfTable = read(LogicalDatastoreType.CONFIGURATION, id);
+ Optional<VrfTables> vrfTable = read(LogicalDatastoreType.OPERATIONAL, id);
if(vrfTable.isPresent()) {
for(VrfEntry vrfEntry : vrfTable.get().getVrfEntry()) {
addRouteInternal(dpnId, vpnId, vrfTable.get().getKey(), vrfEntry);
public void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd) {
LOG.trace("Remove dpn {} for vpn {} : cleanUpDpnForVpn", dpnId, rd);
InstanceIdentifier<VrfTables> id = buildVrfId(rd);
- Optional<VrfTables> vrfTable = read(LogicalDatastoreType.CONFIGURATION, id);
+ Optional<VrfTables> vrfTable = read(LogicalDatastoreType.OPERATIONAL, id);
if(vrfTable.isPresent()) {
for(VrfEntry vrfEntry : vrfTable.get().getVrfEntry()) {
deleteRoute(dpnId, vpnId, vrfTable.get().getKey(), vrfEntry);
try {
listenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.CONFIGURATION,
getWildCardPath(), VpnManager.this, DataChangeScope.SUBTREE);
- fibListenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.CONFIGURATION,
+ fibListenerRegistration = db.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
getFibEntryListenerPath(), fibListener, DataChangeScope.BASE);
} catch (final Exception e) {
- LOG.error("VPN Service DataChange listener registration fail!", e);
+ LOG.error("VPN Service DataChange listener registration fail !", e);
throw new IllegalStateException("VPN Service registration Listener failed.", e);
}
}