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>
This commit is contained in:
@ -93,29 +93,16 @@ class VppIpMPrefix():
|
||||
'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 @@ class VppIpMPrefix():
|
||||
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
|
||||
|
Reference in New Issue
Block a user