Listen on k8s port event to create instance port and host
Change-Id: I59ab1f5f422ce2ba8f5432279ceec6d77cd96f06
diff --git a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/Constants.java b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/Constants.java
index 3588414..db6583a 100644
--- a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/Constants.java
+++ b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/Constants.java
@@ -56,13 +56,21 @@
public static final String DEFAULT_SERVICE_IP_CIDR = "10.96.0.0/12";
public static final String DEFAULT_SERVICE_IP_NONE = "none";
- public static final String PORT_NAME_PREFIX_CONTAINER = "veth";
+ public static final String NORMAL_PORT_NAME_PREFIX_CONTAINER = "veth";
+ public static final String PT_PORT_NAME_PREFIX_CONTAINER = "tap";
+ public static final int NORMAL_PORT_PREFIX_LENGTH = 4;
+ public static final int PT_PORT_PREFIX_LENGTH = 3;
public static final String ANNOTATION_NETWORK_ID = "networkId";
public static final String ANNOTATION_PORT_ID = "portId";
public static final String ANNOTATION_CREATE_TIME = "createTime";
public static final String ANNOTATION_SEGMENT_ID = "segId";
+ // network type
+ public static final String VXLAN = "VXLAN";
+ public static final String GRE = "GRE";
+ public static final String GENEVE = "GENEVE";
+
public static final long DEFAULT_METADATA_MASK = 0xffffffffffffffffL;
public static final int DEFAULT_NAMESPACE_HASH = 0xffffffff;
diff --git a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sPort.java b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sPort.java
index 4d2b906..a779a87 100644
--- a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sPort.java
+++ b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/DefaultK8sPort.java
@@ -114,6 +114,19 @@
}
@Override
+ public K8sPort updateDeviceId(DeviceId deviceId) {
+ return new Builder()
+ .networkId(networkId)
+ .portId(portId)
+ .macAddress(macAddress)
+ .ipAddress(ipAddress)
+ .deviceId(deviceId)
+ .portNumber(portNumber)
+ .state(state)
+ .build();
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) {
return true;
diff --git a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/K8sPort.java b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/K8sPort.java
index f25a725..633de51 100644
--- a/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/K8sPort.java
+++ b/apps/k8s-networking/api/src/main/java/org/onosproject/k8snetworking/api/K8sPort.java
@@ -107,6 +107,14 @@
K8sPort updatePortNumber(PortNumber portNumber);
/**
+ * Returns new port instance with the given device ID.
+ *
+ * @param deviceId device identifier
+ * @return updated port
+ */
+ K8sPort updateDeviceId(DeviceId deviceId);
+
+ /**
* Builder of new port.
*/
interface Builder {