import org.apache.commons.net.util.SubnetUtils.SubnetInfo;
import org.opendaylight.neutron.spi.INeutronSubnetAware;
import org.opendaylight.neutron.spi.NeutronSubnet;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.LispAFIAddress;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainer;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.LispAddressContainerBuilder;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.Address;
-import org.opendaylight.yang.gen.v1.lispflowmapping.rev131031.lispaddress.lispaddresscontainer.address.Ipv4Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.LispAFIAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.LispAddressContainerBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.Address;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.control.plane.rev150314.lispaddress.lispaddresscontainer.address.ipv4.Ipv4AddressBuilder;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
/**
*
*/
public class LispNeutronSubnetHandler extends LispNeutronService implements INeutronSubnetAware {
+ private static final Integer SIX = Integer.valueOf(6);
// The implementation for each of these services is resolved by the OSGi Service Manager
private volatile ILispNeutronService lispNeutronService;
@Override
public int canCreateSubnet(NeutronSubnet subnet) {
- logger.info("Neutron canCreateSubnet : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
+ LOG.info("Neutron canCreateSubnet : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
subnet.getCidr());
- logger.debug("Lisp Neutron Subnet: " + subnet.toString());
+ LOG.debug("Lisp Neutron Subnet: " + subnet.toString());
return HttpURLConnection.HTTP_OK;
}
public void neutronSubnetCreated(NeutronSubnet subnet) {
//TODO update for multi-tenancy
- logger.info("Neutron Subnet Created request : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
+ LOG.info("Neutron Subnet Created request : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
subnet.getCidr());
- logger.debug("Lisp Neutron Subnet: " + subnet.toString());
+ LOG.debug("Lisp Neutron Subnet: " + subnet.toString());
int masklen = Integer.parseInt(subnet.getCidr().split("/")[1]);
SubnetUtils util = new SubnetUtils(subnet.getCidr());
// Default is set to IPv4 for neutron subnets
short ianaCode = 1;
- if ( (new Integer(6)).equals(subnet.getIpVersion()) )
+ if ( SIX.equals(subnet.getIpVersion()) )
ianaCode = 2;
- LispAFIAddress lispAddress = new Ipv4Builder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
+ LispAFIAddress lispAddress = new Ipv4AddressBuilder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
LispAddressContainer addressContainer = new LispAddressContainerBuilder().setAddress((Address) lispAddress).build();
try{
lispNeutronService.getMappingService().addAuthenticationKey(addressContainer, masklen, subnet.getNetworkUUID());
- logger.debug("Neutron Subnet Added to MapServer : Subnet name: " + subnet.getName() + " EID Prefix: " +
+ LOG.debug("Neutron Subnet Added to MapServer : Subnet name: " + subnet.getName() + " EID Prefix: " +
addressContainer.toString() + " Key: " + subnet.getNetworkUUID());
}
catch (Exception e){
- logger.error("Adding new subnet to lisp service mapping service failed. Subnet : " + subnet.toString());
+ LOG.error("Adding new subnet to lisp service mapping service failed. Subnet : " + subnet.toString());
}
}
@Override
public int canUpdateSubnet(NeutronSubnet delta, NeutronSubnet original) {
if (delta == null || original == null){
- logger.error("Neutron canUpdateSubnet rejected: subnet objects were null");
+ LOG.error("Neutron canUpdateSubnet rejected: subnet objects were null");
return HttpURLConnection.HTTP_BAD_REQUEST;
}
- logger.info("Neutron canUpdateSubnet : Subnet name: " + original.getName() + " Subnet Cidr: " +
+ LOG.info("Neutron canUpdateSubnet : Subnet name: " + original.getName() + " Subnet Cidr: " +
original.getCidr());
- logger.debug("Lisp Neutron Subnet update: original : " + original.toString() + " delta : " + delta.toString());
+ LOG.debug("Lisp Neutron Subnet update: original : " + original.toString() + " delta : " + delta.toString());
// We do not accept a Subnet update that changes the cidr. If cider or network UUID is changed, return error.
if ( !(original.getCidr().equals(delta.getCidr())) ){
- logger.error("Neutron canUpdateSubnet rejected: Subnet name: " + original.getName() + " Subnet Cidr: " +
+ LOG.error("Neutron canUpdateSubnet rejected: Subnet name: " + original.getName() + " Subnet Cidr: " +
original.getCidr());
return HttpURLConnection.HTTP_CONFLICT;
}
*/
@Override
public int canDeleteSubnet(NeutronSubnet subnet) {
- logger.info("Neutron canDeleteSubnet : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
+ LOG.info("Neutron canDeleteSubnet : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
subnet.getCidr() + "Key: " + subnet.getNetworkUUID());
- logger.debug("Lisp Neutron Subnet: " + subnet.toString());
+ LOG.debug("Lisp Neutron Subnet: " + subnet.toString());
int result;
int masklen = Integer.parseInt(subnet.getCidr().split("/")[1]);
// Determine the IANA code for the subnet IP version
// Default is set to IPv4 for neutron subnets
short ianaCode = 1;
- if ( (new Integer(6)).equals(subnet.getIpVersion()) )
+ if ( SIX.equals(subnet.getIpVersion()) )
ianaCode = 2;
- LispAFIAddress lispAddress = new Ipv4Builder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
+ LispAFIAddress lispAddress = new Ipv4AddressBuilder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
LispAddressContainer addressContainer = new LispAddressContainerBuilder().setAddress((Address) lispAddress).build();
// if subnet does not exist in MapServer, return error
try{
if (lispNeutronService.getMappingService().getAuthenticationKey(addressContainer, masklen) == null){
- logger.error("Neutron canDeleteSubnet rejected : Subnet does not exist: Subnet name: " +
+ LOG.error("Neutron canDeleteSubnet rejected : Subnet does not exist: Subnet name: " +
subnet.getName() +
" Eid Prefix: " + addressContainer.toString() +
" Key: " + subnet.getNetworkUUID());
result = HttpURLConnection.HTTP_OK;
}
catch (Exception e){
- logger.error("canDeleteSubnet request rejected. Subnet : " + subnet.toString());
+ LOG.error("canDeleteSubnet request rejected. Subnet : " + subnet.toString());
result = HttpURLConnection.HTTP_BAD_REQUEST;
}
return result;
*/
@Override
public void neutronSubnetDeleted(NeutronSubnet subnet) {
- logger.info("Neutron Subnet Deleted Request : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
+ LOG.info("Neutron Subnet Deleted Request : Subnet name: " + subnet.getName() + " Subnet Cidr: " +
subnet.getCidr() + "Key: " + subnet.getNetworkUUID());
- logger.debug("Lisp Neutron Subnet: " + subnet.toString());
+ LOG.debug("Lisp Neutron Subnet: " + subnet.toString());
int masklen = Integer.parseInt(subnet.getCidr().split("/")[1]);
SubnetUtils util = new SubnetUtils(subnet.getCidr());
// Default is set to IPv4 for neutron subnets
short ianaCode = 1;
- if ( (new Integer(6)).equals(subnet.getIpVersion()) )
+ if ( SIX.equals(subnet.getIpVersion()) )
ianaCode = 2;
- LispAFIAddress lispAddress = new Ipv4Builder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
+ LispAFIAddress lispAddress = new Ipv4AddressBuilder().setIpv4Address(new Ipv4Address(info.getNetworkAddress())).setAfi(ianaCode).build();
LispAddressContainer addressContainer = new LispAddressContainerBuilder().setAddress((Address) lispAddress).build();
try{
// if subnet does not exist in MapServer, return error
if (lispNeutronService.getMappingService().getAuthenticationKey(addressContainer,masklen) == null){
- logger.error("Neutron Delete Subnet Failed: Subnet does not exist: Subnet name: " + subnet.getName() +
+ LOG.error("Neutron Delete Subnet Failed: Subnet does not exist: Subnet name: " + subnet.getName() +
" Eid Prefix: " + addressContainer.toString() +
"Key: " + subnet.getNetworkUUID());
return;
}
lispNeutronService.getMappingService().removeAuthenticationKey(addressContainer, masklen);
- logger.debug("Neutron Subnet Deleted from MapServer : Subnet name: " + subnet.getName() +
+ LOG.debug("Neutron Subnet Deleted from MapServer : Subnet name: " + subnet.getName() +
" Eid Prefix: " + addressContainer.toString() +
" Key: " + subnet.getNetworkUUID());
}
catch (Exception e){
- logger.error("Deleting subnet's EID prefix from mapping service failed + Subnet: " + subnet.toString());
+ LOG.error("Deleting subnet's EID prefix from mapping service failed + Subnet: " + subnet.toString());
}
}