ONOS-2622
Fix error of north app and update onos-app-vtnrsc package

Change-Id: I375002ff26d2ab3ada879a92a1d47bcdb8980054
diff --git a/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java b/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java
new file mode 100644
index 0000000..1104d7e
--- /dev/null
+++ b/apps/vtnrsc/src/main/java/org/onosproject/vtnrsc/Subnet.java
@@ -0,0 +1,129 @@
+/*

+ *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;

+import org.onlab.packet.IpAddress.Version;

+import org.onlab.packet.IpPrefix;

+

+/**

+ * Representation of a subnet.

+ */

+public interface Subnet {

+

+    /**

+     * Coarse classification of the type of the ipV6Mode.

+     */

+    public enum Mode {

+        DHCPV6_STATEFUL, DHCPV6_STATELESS, SLAAC

+    }

+

+    /**

+     * Returns the subnet identifier.

+     *

+     * @return identifier

+     */

+    SubnetId id();

+

+    /**

+     * Returns the name of the subnet.

+     *

+     * @return subnetName

+     */

+    String subnetName();

+

+    /**

+     * Returns the network identifier.

+     *

+     * @return the network identifier

+     */

+    TenantNetworkId networkId();

+

+    /**

+     * Returns tenant identifier.

+     *

+     * @return the tenant identifier

+     */

+    TenantId tenantId();

+

+    /**

+     * Returns the IP version, which is 4 or 6.

+     *

+     * @return ipVersion

+     */

+    Version ipVersion();

+

+    /**

+     * Returns the cidr.

+     *

+     * @return cidr

+     */

+    IpPrefix cidr();

+

+    /**

+     * Returns the gateway IP address.

+     *

+     * @return gatewayIp

+     */

+    IpAddress gatewayIp();

+

+    /**

+     * Returns true if DHCP is enabled and return false if DHCP is disabled.

+     *

+     * @return true or false

+     */

+    boolean dhcpEnabled();

+

+    /**

+     * Indicates whether this tenantNetwork is shared across all tenants. By

+     * default, only administrative user can change this value.

+     *

+     * @return true or false

+     */

+    boolean shared();

+

+    /**

+     * Returns a collection of hostRoutes.

+     *

+     * @return a collection of hostRoutes

+     */

+    Iterable<HostRoute> hostRoutes();

+

+    /**

+     * Returns the ipV6AddressMode. A valid value is dhcpv6-stateful,

+     * dhcpv6-stateless, or slaac.

+     *

+     * @return ipV6AddressMode whose value is dhcpv6-stateful, dhcpv6-stateless

+     *         or slaac

+     */

+    Mode ipV6AddressMode();

+

+    /**

+     * Returns the ipV6RaMode.A valid value is dhcpv6-stateful,

+     * dhcpv6-stateless, or slaac.

+     *

+     * @return ipV6RaMode whose value is dhcpv6-stateful, dhcpv6-stateless or

+     *         slaac

+     */

+    Mode ipV6RaMode();

+

+    /**

+     * Returns a collection of allocation_pools.

+     *

+     * @return a collection of allocationPools

+     */

+    Iterable<AllocationPool> allocationPools();

+}