self.hook.after_api(api_fn.__name__, api_args)
return reply
- def cli(self, cli):
+ def cli_return_response(self, cli):
""" Execute a CLI, calling the before/after hooks appropriately.
+ Return the reply without examining it
:param cli: CLI to execute
- :returns: CLI output
+ :returns: response object
"""
self.hook.before_cli(cli)
cli += '\n'
r = self.papi.cli_inband(cmd=cli)
self.hook.after_cli(cli)
+ return r
+
+ def cli(self, cli):
+ """ Execute a CLI, calling the before/after hooks appropriately.
+
+ :param cli: CLI to execute
+ :returns: CLI output
+
+ """
+ r = self.cli_return_response(cli)
if r.retval == -156:
raise CliSyntaxError(r.reply)
if r.retval != 0:
:param cli: CLI to execute
:returns: CLI output
"""
- return cli + "\n" + self.cli(cli).encode('ascii',
- errors='backslashreplace')
+ return cli + "\n" + self.cli(cli)
def want_ip4_arp_events(self, enable_disable=1, ip="0.0.0.0"):
return self.api(self.papi.want_ip4_arp_events,
'learn_limit': learn_limit,
'pid': os.getpid(), })
- def ip6_add_del_address_using_prefix(self, sw_if_index, address,
- prefix_length, prefix_group,
- is_add=1):
- return self.api(self.papi.ip6_add_del_address_using_prefix,
- {'sw_if_index': sw_if_index,
- 'prefix_group': prefix_group,
- 'address': address,
- 'prefix_length': prefix_length,
- 'is_add': is_add})
-
def sw_interface_set_mac_address(self, sw_if_index, mac):
return self.api(self.papi.sw_interface_set_mac_address,
{'sw_if_index': sw_if_index,
:param current_data_flag: (Default value = 0)
:param current_data_offset: (Default value = 0)
"""
-
- mask_len = ((len(mask) - 1) / 16 + 1) * 16
- mask = mask + '\0' * (mask_len - len(mask))
+ mask_len = ((len(mask) - 1) // 16 + 1) * 16
+ mask = mask + b'\0' * (mask_len - len(mask))
return self.api(
self.papi.classify_add_del_table,
{'is_add': is_add,
:param metadata: (Default value = 0)
"""
- match_len = ((len(match) - 1) / 16 + 1) * 16
- match = match + '\0' * (match_len - len(match))
+ match_len = ((len(match) - 1) // 16 + 1) * 16
+ match = match + b'\0' * (match_len - len(match))
return self.api(
self.papi.classify_add_del_session,
{'is_add': is_add,
remote_crypto_key, integ_alg, local_integ_key,
remote_integ_key, is_add=1, esn=0, salt=0,
anti_replay=1, renumber=0,
- udp_encap=0, show_instance=0):
+ udp_encap=0, show_instance=0xffffffff):
return self.api(
self.papi.ipsec_tunnel_if_add_del,
{
'sw_if_index': sw_if_index,
'is_enable': is_enable,
})
+
+ def feature_gso_enable_disable(self, sw_if_index, enable_disable=1):
+ return self.api(self.papi.feature_gso_enable_disable,
+ {
+ 'sw_if_index': sw_if_index,
+ 'enable_disable': enable_disable,
+ })