diff --git a/src/main/java/net/floodlightcontroller/bgproute/Prefix.java b/src/main/java/net/floodlightcontroller/bgproute/Prefix.java
new file mode 100644
index 0000000..7ba014b
--- /dev/null
+++ b/src/main/java/net/floodlightcontroller/bgproute/Prefix.java
@@ -0,0 +1,35 @@
+package net.floodlightcontroller.bgproute;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+public class Prefix {
+	public int masklen;
+	protected InetAddress address;
+
+	Prefix(byte[] addr, int masklen) {
+		try {
+			address = InetAddress.getByAddress(addr);
+		} catch (UnknownHostException e) {
+			System.out.println("InetAddress exception");
+			return;
+		}
+		this.masklen = masklen;
+		System.out.println(address.toString() + "/" + masklen);
+	}
+	
+	Prefix(String str, int masklen) {
+		try {
+			address = InetAddress.getByName(str);
+			//System.out.println(address.toString());
+		} catch (UnknownHostException e) {
+			System.out.println("InetAddress exception");
+			return;
+		}
+		this.masklen = masklen;
+	}
+	
+	public byte [] getAddress() {
+		return address.getAddress();
+	}
+}
