}
public synchronized void addPrefix(String rd, String macAddress, String pfx, List<String> nhList,
- VrfEntry.EncapType encapType, int lbl, long l3vni, String gatewayMac) {
+ VrfEntry.EncapType encapType, int lbl, long l3vni, String gatewayMac, int addressFamily) {
for (String nh : nhList) {
Ipv4Address nexthop = nh != null ? new Ipv4Address(nh) : null;
Long label = (long) lbl;
+ Long afi = (long) addressFamily;
InstanceIdentifier<Networks> iid = InstanceIdentifier.builder(Bgp.class)
.child(Networks.class, new NetworksKey(pfx, rd)).build();
NetworksBuilder networksBuilder = new NetworksBuilder().setRd(rd).setPrefixLen(pfx).setNexthop(nexthop)
- .setLabel(label).setEthtag(BgpConstants.DEFAULT_ETH_TAG);
+ .setLabel(label).setEthtag(BgpConstants.DEFAULT_ETH_TAG)
+ .setAfi(afi);
buildVpnEncapSpecificInfo(networksBuilder, encapType, label, l3vni, macAddress, gatewayMac);
update(iid, networksBuilder.build());
}
delete(iid);
}
- public synchronized void delPrefix(String rd, String pfx) {
+ public synchronized void delPrefix(String rd, String pfx, int afi) {
InstanceIdentifier.InstanceIdentifierBuilder<Networks> iib =
InstanceIdentifier.builder(Bgp.class)
.child(Networks.class, new NetworksKey(pfx, rd));
fibDSWriter.addFibEntryToDS(rd, macAddress, prefix, nextHopList,
encapType, vpnLabel, l3vni, gatewayMac, origin);
bcm.addPrefix(rd, macAddress, prefix, nextHopList,
- encapType, vpnLabel, l3vni, gatewayMac);
+ encapType, vpnLabel, l3vni, gatewayMac, 1 /* TODO FIX afi */);
}
@Override
@Override
public void deletePrefix(String rd, String prefix) {
fibDSWriter.removeFibEntryFromDS(rd, prefix);
- bcm.delPrefix(rd, prefix);
+ bcm.delPrefix(rd, prefix, 1 /* TODO FIX afi */);
}
@Override
VrfEntry.EncapType encapType, int vpnLabel, long l3vni,
String gatewayMac) throws Exception {
bcm.addPrefix(rd, macAddress, prefix, nextHopList,
- encapType, vpnLabel, l3vni, gatewayMac);
+ encapType, vpnLabel, l3vni, gatewayMac, 1 /* TODO FIX afi */);
}
@Override
String gatewayMac) throws Exception {
LOG.info("ADVERTISE: Adding Prefix rd {} prefix {} nexthop {} label {}", rd, prefix, nextHop, vpnLabel);
bcm.addPrefix(rd, macAddress, prefix, Collections.singletonList(nextHop), encapType,
- vpnLabel, l3vni, gatewayMac);
+ vpnLabel, l3vni, gatewayMac, 1 /* TODO FIX afi */);
LOG.info("ADVERTISE: Added Prefix rd {} prefix {} nexthop {} label {}", rd, prefix, nextHop, vpnLabel);
}
@Override
public void withdrawPrefix(String rd, String prefix) {
LOG.info("WITHDRAW: Removing Prefix rd {} prefix {}", rd, prefix);
- bcm.delPrefix(rd, prefix);
+ bcm.delPrefix(rd, prefix, 1 /* TODO FIX afi */);
LOG.info("WITHDRAW: Removed Prefix rd {} prefix {}", rd, prefix);
}