@SuppressWarnings("checkstyle:IllegalCatch")
@Override
public void onSubnetAddedToVpn(SubnetAddedToVpn notification) {
- if (!notification.isExternalVpn()) {
+ if (!notification.isBgpVpn()) {
return;
}
public void onSubnetDeletedFromVpn(SubnetDeletedFromVpn notification) {
Uuid subnetId = notification.getSubnetId();
- if (!notification.isExternalVpn()) {
+ if (!notification.isBgpVpn()) {
return;
}
LOG.info("onSubnetDeletedFromVpn: Subnet " + subnetId.getValue() + " being removed from vpn");
Optional<SubnetOpDataEntry> optionalSubs =
VpnUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, subOpIdentifier);
if (optionalSubs.isPresent()) {
- if (!notification.isExternalVpn()) {
+ if (!notification.isBgpVpn()) {
SubnetDeletedFromVpnBuilder bldr = new SubnetDeletedFromVpnBuilder().setVpnName(vpnName);
- bldr.setElanTag(elanTag).setExternalVpn(true).setSubnetIp(subnetIp).setSubnetId(subnetId);
+ bldr.setElanTag(elanTag).setBgpVpn(true).setSubnetIp(subnetIp).setSubnetId(subnetId);
onSubnetDeletedFromVpn(bldr.build());
}
// TODO(vivek): Something got updated, but we donot know what ?
} else {
- if (notification.isExternalVpn()) {
+ if (notification.isBgpVpn()) {
SubnetAddedToVpnBuilder bldr = new SubnetAddedToVpnBuilder().setVpnName(vpnName).setElanTag(elanTag);
- bldr.setSubnetIp(subnetIp).setSubnetId(subnetId).setExternalVpn(true);
+ bldr.setSubnetIp(subnetIp).setSubnetId(subnetId).setBgpVpn(true);
onSubnetAddedToVpn(bldr.build());
}
// TODO(vivek): Something got updated, but we donot know what ?
if (nexthopIp != null) {
VpnUtil.syncWrite(dataBroker, LogicalDatastoreType.OPERATIONAL,
VpnUtil.getPrefixToInterfaceIdentifier(VpnUtil.getVpnId(dataBroker, vpnName), subnetIp),
- VpnUtil.getPrefixToInterface(nhDpnId, subnetId.getValue(), subnetIp));
+ VpnUtil.getPrefixToInterface(nhDpnId, subnetId.getValue(), subnetIp, subnetId, true /* isNatPrefix*/));
vpnInterfaceManager.addSubnetRouteFibEntryToDS(rd, vpnName, subnetIp, nexthopIp, label, elanTag, nhDpnId,
null);
try {
//BGP manager will handle withdraw and advertise internally if prefix
//already exist
bgpManager.advertisePrefix(rd, null /*macAddress*/, subnetIp, Collections.singletonList(nexthopIp),
- VrfEntry.EncapType.Mplsgre, label, 0 /*l3vni*/, null /*gatewayMacAddress*/);
+ VrfEntry.EncapType.Mplsgre, label, 0 /*l3vni*/, 0 /*l2vni*/, null /*gatewayMacAddress*/);
} catch (Exception e) {
LOG.error("Fail: Subnet route not advertised for rd {} subnetIp {}", rd, subnetIp, e);
throw e;