Add Create interface for IP address

Change-Id: I05a7100db500bf5d8ec87c24f4d6503a03eb3581
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/Makefile.am b/Makefile.am
index 2125952..247ea9b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,7 @@
 # Build these headers, don't install them
 nobase_nodist_include_HEADERS = \
-	xyz/openbmc_project/Network/VLAN/Create/server.hpp
+	xyz/openbmc_project/Network/VLAN/Create/server.hpp \
+	xyz/openbmc_project/Network/IP/Create/server.hpp
 
 sbin_PROGRAMS = netman_watch_dns phosphor-network-manager
 
@@ -19,15 +20,21 @@
 		ipaddress.cpp \
 		network_manager.cpp \
 		network_manager_main.cpp \
-		xyz/openbmc_project/Network/VLAN/Create/server.cpp
+		xyz/openbmc_project/Network/VLAN/Create/server.cpp \
+		xyz/openbmc_project/Network/IP/Create/server.cpp
 
 CLEANFILES = \
 		xyz/openbmc_project/Network/VLAN/Create/server.cpp \
-		xyz/openbmc_project/Network/VLAN/Create/server.hpp
+		xyz/openbmc_project/Network/VLAN/Create/server.hpp \
+		xyz/openbmc_project/Network/IP/Create/server.cpp \
+		xyz/openbmc_project/Network/IP/Create/server.hpp
+
 
 BUILT_SOURCES = \
 		xyz/openbmc_project/Network/VLAN/Create/server.cpp \
-		xyz/openbmc_project/Network/VLAN/Create/server.hpp
+		xyz/openbmc_project/Network/VLAN/Create/server.hpp \
+		xyz/openbmc_project/Network/IP/Create/server.cpp \
+		xyz/openbmc_project/Network/IP/Create/server.hpp
 
 
 phosphor_network_manager_LDFLAGS = \
@@ -47,3 +54,13 @@
 xyz/openbmc_project/Network/VLAN/Create/server.hpp: xyz/openbmc_project/Network/VLAN/Create.interface.yaml
 	@mkdir -p `dirname $@`
 	$(SDBUSPLUSPLUS) -r $(srcdir) interface server-header xyz.openbmc_project.Network.VLAN.Create > $@
+
+xyz/openbmc_project/Network/IP/Create/server.cpp: xyz/openbmc_project/Network/IP/Create.interface.yaml xyz/openbmc_project/Network/IP/Create/server.hpp
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(srcdir) interface server-cpp xyz.openbmc_project.Network.IP.Create > $@
+
+xyz/openbmc_project/Network/IP/Create/server.hpp: xyz/openbmc_project/Network/IP/Create.interface.yaml
+	@mkdir -p `dirname $@`
+	$(SDBUSPLUSPLUS) -r $(srcdir) interface server-header xyz.openbmc_project.Network.IP.Create > $@
+	sed -i '5i #include \"xyz\/openbmc_project\/Network\/IP\/server.hpp\"' $@
+
diff --git a/xyz/openbmc_project/Network/IP/Create.interface.yaml b/xyz/openbmc_project/Network/IP/Create.interface.yaml
new file mode 100644
index 0000000..a02e443
--- /dev/null
+++ b/xyz/openbmc_project/Network/IP/Create.interface.yaml
@@ -0,0 +1,22 @@
+description: >
+methods:
+    - name: IP
+      description: >
+          Create ipaddress object.
+      parameters:
+        - name: ProtocolType
+          type: enum[xyz.openbmc_project.Network.IP.Protocol]
+          description: >
+              protocol type can be IPv4 or IPv6 etc.
+        - name: Address
+          type: string
+          description: >
+              IP Address.
+        - name: PrefixLength
+          type: byte
+          description: >
+              Prefix Length.
+        - name: Gateway
+          type: string
+          description: >
+              Gateway Address.