tests: implement ipaddress convenience methods

  Add vpp specific properties to ip addresses for use in the api.
  .vapi_af  -- returns [ADDRESS_IP4, ADDRESS_IP6]
  .vapi_af_name -- returns the string ['ip4', 'ip6']

  Update tests to demonstrate usage.

Type: feature

Change-Id: I43447a1522769d99f89debdc714c51700068d771
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
diff --git a/test/vpp_ip.py b/test/vpp_ip.py
index 43af5e0..3c01ba5 100644
--- a/test/vpp_ip.py
+++ b/test/vpp_ip.py
@@ -93,29 +93,16 @@
                              'same address family.')
 
     def encode(self):
-        if 6 == self.version:
-            prefix = {
-                'af': VppEnum.vl_api_address_family_t.ADDRESS_IP6,
-                'grp_address': {
-                    'ip6': self.gaddr
-                },
-                'src_address': {
-                    'ip6': self.saddr
-                },
-                'grp_address_length': self.glen,
-            }
-        else:
-            prefix = {
-                'af': VppEnum.vl_api_address_family_t.ADDRESS_IP4,
-                'grp_address': {
-                    'ip4': self.gaddr
-                },
-                'src_address': {
-                    'ip4':  self.saddr
-                },
-                'grp_address_length': self.glen,
-            }
-        return prefix
+        return {
+            'af': ip_address(self.gaddr).vapi_af,
+            'grp_address': {
+                ip_address(self.gaddr).vapi_af_name: self.gaddr
+            },
+            'src_address': {
+                ip_address(self.saddr).vapi_af_name: self.saddr
+            },
+            'grp_address_length': self.glen,
+        }
 
     @property
     def length(self):
@@ -145,6 +132,4 @@
                 return (self.glen == other.grp_address_length and
                         self.gaddr == str(other.grp_address.ip6) and
                         self.saddr == str(other.src_address.ip6))
-            raise Exception("Comparing VppIpMPrefix:%s with unknown type: %s" %
-                            (self, other))
-        return False
+        return NotImplemented