From a0364d85d9f9b28917168a0dde9c67ca5af4a6f8 Mon Sep 17 00:00:00 2001 From: Vratko Polak Date: Mon, 6 Sep 2021 12:54:35 +0200 Subject: API: Use newer message versions Based on latest common ancestor of master and stable/2106: 1372178e0e674143bfec14b17050d5e92e4fcf1a Only ipsec_sad_entry_add_del_v3 needs non-trivial argument edits. Change-Id: I813367292a830e5a1fac765e9f24057b6b0192ee Signed-off-by: Vratko Polak --- resources/libraries/python/IPsecUtil.py | 78 +++++++++++++++++------------ resources/libraries/python/InterfaceUtil.py | 5 +- resources/libraries/python/TestConfig.py | 2 +- resources/libraries/python/VhostUser.py | 2 +- 4 files changed, 50 insertions(+), 37 deletions(-) (limited to 'resources/libraries/python') diff --git a/resources/libraries/python/IPsecUtil.py b/resources/libraries/python/IPsecUtil.py index 2efc70eab6..acae5bd91d 100644 --- a/resources/libraries/python/IPsecUtil.py +++ b/resources/libraries/python/IPsecUtil.py @@ -437,7 +437,7 @@ class IPsecUtil: src_addr = u"" dst_addr = u"" - cmd = u"ipsec_sad_entry_add_del_v2" + cmd = u"ipsec_sad_entry_add_del_v3" err_msg = f"Failed to add Security Association Database entry " \ f"on host {node[u'host']}" sad_entry = dict( @@ -448,12 +448,15 @@ class IPsecUtil: integrity_algorithm=integ_alg.alg_int_repr if integ_alg else 0, integrity_key=ikey, flags=flags, - tunnel_src=str(src_addr), - tunnel_dst=str(dst_addr), - tunnel_flags=int( - TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + tunnel=dict( + src=str(src_addr), + dst=str(dst_addr), + table_id=0, + encap_decap_flags=int( + TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + ), + dscp=int(IpDscp.IP_API_DSCP_CS0), ), - dscp=int(IpDscp.IP_API_DSCP_CS0), protocol=int(IPsecProto.IPSEC_API_PROTO_ESP), udp_src_port=4500, # default value in api udp_dst_port=4500 # default value in api @@ -551,7 +554,7 @@ class IPsecUtil: IPsecSadFlags.IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 ) - cmd = u"ipsec_sad_entry_add_del_v2" + cmd = u"ipsec_sad_entry_add_del_v3" err_msg = f"Failed to add Security Association Database entry " \ f"on host {node[u'host']}" @@ -563,12 +566,15 @@ class IPsecUtil: integrity_algorithm=integ_alg.alg_int_repr if integ_alg else 0, integrity_key=ikey, flags=flags, - tunnel_src=str(src_addr), - tunnel_dst=str(dst_addr), - tunnel_flags=int( - TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + tunnel=dict( + src=str(src_addr), + dst=str(dst_addr), + table_id=0, + encap_decap_flags=int( + TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + ), + dscp=int(IpDscp.IP_API_DSCP_CS0), ), - dscp=int(IpDscp.IP_API_DSCP_CS0), protocol=int(IPsecProto.IPSEC_API_PROTO_ESP), udp_src_port=4500, # default value in api udp_dst_port=4500 # default value in api @@ -581,10 +587,14 @@ class IPsecUtil: for i in range(n_entries): args[u"entry"][u"sad_id"] = int(sad_id) + i args[u"entry"][u"spi"] = int(spi) + i - args[u"entry"][u"tunnel_src"] = str(src_addr + i * addr_incr) \ + args[u"entry"][u"tunnel"][u"src"] = ( + str(src_addr + i * addr_incr) if tunnel_src and tunnel_dst else src_addr - args[u"entry"][u"tunnel_dst"] = str(dst_addr + i * addr_incr) \ + ) + args[u"entry"][u"tunnel"][u"dst"] = ( + str(dst_addr + i * addr_incr) if tunnel_src and tunnel_dst else dst_addr + ) history = bool(not 1 < i < n_entries - 2) papi_exec.add(cmd, history=history, **args) papi_exec.get_replies(err_msg) @@ -1439,7 +1449,7 @@ class IPsecUtil: # Configure IPSec SAD entries ckeys = [bytes()] * existing_tunnels ikeys = [bytes()] * existing_tunnels - cmd = u"ipsec_sad_entry_add_del_v2" + cmd = u"ipsec_sad_entry_add_del_v3" c_key = dict( length=0, data=None @@ -1457,16 +1467,18 @@ class IPsecUtil: integrity_algorithm=integ_alg.alg_int_repr if integ_alg else 0, integrity_key=i_key, flags=None, - tunnel_src=0, - tunnel_dst=0, - tunnel_flags=int( - TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + tunnel=dict( + src=0, + dst=0, + table_id=0, + encap_decap_flags=int( + TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + ), + dscp=int(IpDscp.IP_API_DSCP_CS0), ), - dscp=int(IpDscp.IP_API_DSCP_CS0), - table_id=0, salt=0, udp_src_port=IPSEC_UDP_PORT_NONE, - udp_dst_port=IPSEC_UDP_PORT_NONE + udp_dst_port=IPSEC_UDP_PORT_NONE, ) args = dict( is_add=True, @@ -1679,7 +1691,7 @@ class IPsecUtil: ] ) # Configure IPSec SAD entries - cmd = u"ipsec_sad_entry_add_del_v2" + cmd = u"ipsec_sad_entry_add_del_v3" c_key = dict( length=0, data=None @@ -1692,23 +1704,23 @@ class IPsecUtil: sad_id=None, spi=None, protocol=int(IPsecProto.IPSEC_API_PROTO_ESP), - crypto_algorithm=crypto_alg.alg_int_repr, crypto_key=c_key, integrity_algorithm=integ_alg.alg_int_repr if integ_alg else 0, integrity_key=i_key, - flags=None, - tunnel_src=0, - tunnel_dst=0, - tunnel_flags=int( - TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + tunnel=dict( + src=0, + dst=0, + table_id=0, + encap_decap_flags=int( + TunnelEncpaDecapFlags.TUNNEL_API_ENCAP_DECAP_FLAG_NONE + ), + dscp=int(IpDscp.IP_API_DSCP_CS0), ), - dscp=int(IpDscp.IP_API_DSCP_CS0), - table_id=0, salt=0, udp_src_port=IPSEC_UDP_PORT_NONE, - udp_dst_port=IPSEC_UDP_PORT_NONE + udp_dst_port=IPSEC_UDP_PORT_NONE, ) args = dict( is_add=True, @@ -2230,6 +2242,6 @@ class IPsecUtil: :type node: dict """ cmds = [ - u"ipsec_sa_v2_dump" + u"ipsec_sa_v3_dump" ] PapiSocketExecutor.dump_and_log(node, cmds) diff --git a/resources/libraries/python/InterfaceUtil.py b/resources/libraries/python/InterfaceUtil.py index 4cd7cf10b6..ebbd4f25fa 100644 --- a/resources/libraries/python/InterfaceUtil.py +++ b/resources/libraries/python/InterfaceUtil.py @@ -849,7 +849,7 @@ class InterfaceUtil: :raises RuntimeError: if it is unable to create VxLAN interface on the node. """ - cmd = u"vxlan_add_del_tunnel" + cmd = u"vxlan_add_del_tunnel_v3" args = dict( is_add=True, instance=Constants.BITWISE_NON_ZERO, @@ -1359,7 +1359,7 @@ class InterfaceUtil: node, u"set logging class rdma level debug" ) - cmd = u"rdma_create_v2" + cmd = u"rdma_create_v3" pci_addr = Topology.get_interface_pci_addr(node, if_key) args = dict( name=InterfaceUtil.pci_to_eth(node, pci_addr), @@ -1371,6 +1371,7 @@ class InterfaceUtil: # Note: Set True for non-jumbo packets. no_multi_seg=False, max_pktlen=0, + # TODO: Apply desired RSS flags. ) err_msg = f"Failed to create RDMA interface on host {node[u'host']}" with PapiSocketExecutor(node) as papi_exec: diff --git a/resources/libraries/python/TestConfig.py b/resources/libraries/python/TestConfig.py index c1b7b1b600..28c740e42e 100644 --- a/resources/libraries/python/TestConfig.py +++ b/resources/libraries/python/TestConfig.py @@ -156,7 +156,7 @@ class TestConfig: del_all=False, prefix=None ) - cmd2 = u"vxlan_add_del_tunnel" + cmd2 = u"vxlan_add_del_tunnel_v3" args2 = dict( is_add=True, instance=Constants.BITWISE_NON_ZERO, diff --git a/resources/libraries/python/VhostUser.py b/resources/libraries/python/VhostUser.py index c6b9185e14..e868938cd1 100644 --- a/resources/libraries/python/VhostUser.py +++ b/resources/libraries/python/VhostUser.py @@ -62,7 +62,7 @@ class VhostUser: :returns: SW interface index. :rtype: int """ - cmd = u"create_vhost_user_if" + cmd = u"create_vhost_user_if_v2" err_msg = f"Failed to create Vhost-user interface " \ f"on host {node[u'host']}" if virtio_feature_mask is None: -- cgit 1.2.3-korg