[ONOS-2815]: add FloatingIpId and FloatingIpTest

Change-Id: Iae235c1f55543288eac475340467cdac618d4def
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java
new file mode 100644
index 0000000..0933d9e
--- /dev/null
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/FloatingIp.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.vtnrsc;
+
+import org.onlab.packet.IpAddress;
+
+/**
+ * Representation of a floatingIp.
+ */
+public interface FloatingIp {
+
+    /**
+     * Coarse classification of the type of the FloatingIp.
+     */
+    public enum Status {
+        /**
+         * Signifies that a floating Ip is currently active.
+         */
+        ACTIVE,
+        /**
+         * Signifies that a floating Ip is currently inactive.
+         */
+        INACTIVE
+    }
+
+    /**
+     * Returns the floatingIp identifier.
+     *
+     * @return identifier
+     */
+    FloatingIpId id();
+
+    /**
+     * Returns the tenant identifier.
+     *
+     * @return the tenant identifier
+     */
+    TenantId tenantId();
+
+    /**
+     * Returns the network identifier.
+     *
+     * @return the network identifier
+     */
+    TenantNetworkId networkId();
+
+    /**
+     * Returns the port identifier.
+     *
+     * @return the port identifier
+     */
+    VirtualPortId portId();
+
+    /**
+     * Returns the router identifier.
+     *
+     * @return the router identifier
+     */
+    RouterId routerId();
+
+    /**
+     * Returns the floating ip address.
+     *
+     * @return floatingIp
+     */
+    IpAddress floatingIp();
+
+    /**
+     * Returns the fixed ip address.
+     *
+     * @return fixedIp
+     */
+    IpAddress fixedIp();
+
+    /**
+     * Returns the status of floating ip.
+     *
+     * @return floatingIpStatus
+     */
+    Status status();
+}