diff options
author | Vratko Polak <vrpolak@cisco.com> | 2023-07-14 17:01:34 +0200 |
---|---|---|
committer | Vratko Polak <vrpolak@cisco.com> | 2023-07-14 17:01:34 +0200 |
commit | c461e9407dc7d10a27780e0140088ae0b1adf6e8 (patch) | |
tree | 6372aa0ac8a3c21a73e8a204bd6a342421e66de7 /resources | |
parent | c1c75eaaba3d25309315ac27c8aa11b4d7834151 (diff) |
feat(crc): bump messages for cycle after 2306
The supported VPP code is 380c62d7040bf285d449f1d05692141c40089470
which is the latest commit before stable/2306 diverged from master.
+ Separate messages into blocks with paths to .api sources.
+ Prepare memif for use_dma (currently always false).
+ Use srv6 test teardown action in srv6 device tests.
- Do not use sr_policy_add_v2 from 37258 yet.
- Leave a TODO to do it eventually, for now inputs are too different.
- Do not use index based policer calls from 37873.
- The policer_add_del is not deprecated yet and inputs are different.
Change-Id: I350138f09542ec12ce4bec140203175940ccf9d4
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources')
-rw-r--r-- | resources/api/vpp/supported_crcs.yaml | 123 | ||||
-rw-r--r-- | resources/libraries/python/Memif.py | 20 | ||||
-rw-r--r-- | resources/libraries/python/SRv6.py | 6 |
3 files changed, 132 insertions, 17 deletions
diff --git a/resources/api/vpp/supported_crcs.yaml b/resources/api/vpp/supported_crcs.yaml index 522dc44ba2..3a11094067 100644 --- a/resources/api/vpp/supported_crcs.yaml +++ b/resources/api/vpp/supported_crcs.yaml @@ -30,8 +30,9 @@ # Use bash command "env LC_COLLATE=C sort -u" if not clear. # https://packagecloud.io/app/fdio/release -# /search?q=23.02&filter=debs&filter=all&dist=debian -23.02-release: +# /search?q=23.06&filter=debs&filter=all&dist=debian +23.06-release: + # plugins/acl/acl.api acl_add_replace: '0xee5c2f18' # dev acl_add_replace_reply: '0xac407b0c' # dev acl_details: '0x95babae0' # dev teardown @@ -40,25 +41,39 @@ acl_interface_list_dump: '0xf9e6675e' # dev teardown acl_interface_set_acl_list: '0x473982bd' # dev acl_interface_set_acl_list_reply: '0xe8d4e804' # dev + + # vlibmemory/vlib.api add_node_next: '0x2457116d' # dev add_node_next_reply: '0x2ed75f32' # dev + + # plugins/adl/adl.api adl_allowlist_enable_disable: '0xea88828d' # dev adl_allowlist_enable_disable_reply: '0xe8d4e804' # dev adl_interface_enable_disable: '0x5501adee' # dev adl_interface_enable_disable_reply: '0xe8d4e804' # dev + + # plugins/af_xdp/af_xdp.api af_xdp_create_v2: '0xe17ec2eb' # dev af_xdp_create_v2_reply: '0x5383d31f' # dev + + # plugins/avf/avf.api avf_create: '0xdaab8ae2' # dev avf_create_reply: '0x5383d31f' # dev + + # vnet/bonding/bond.api bond_add_member: '0xe7d14948' # perf bond_add_member_reply: '0xe8d4e804' # perf bond_create2: '0x912fda76' # perf bond_create2_reply: '0x5383d31f' # perf # 4x^ 64B-1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr # ^ ndrpdrAND1cAND64bAND1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm + + # vnet/l2/l2.api bridge_domain_add_del_v2: '0x600b7170' # dev bridge_domain_add_del_v2_reply: '0xfcb1e980' # dev # bridge_domain_dump / details # honeycomb + + # vnet/classify/classify.api classify_add_del_session: '0xf20879f0' # dev classify_add_del_session_reply: '0xe8d4e804' # dev classify_add_del_table: '0x6849e39e' # dev @@ -66,23 +81,37 @@ # classify_session_dump / details # honeycomb # classify_table_by_interface / reply # honeycomb # classify_table_info / reply # honeycomb + + # vlibmemory/vlib.api cli_inband: '0xf8377302' # dev setup cli_inband_reply: '0x05879051' # dev setup + + # vnet/interface.api create_loopback_instance: '0xd36a3ee2' # dev create_loopback_instance_reply: '0x5383d31f' # dev + + # vnet/interface.api create_subif: '0x790ca755' # perf create_subif_reply: '0x5383d31f' # perf # ^^ 64B-1c-dot1ad-l2xcbase-ndrpdr # ^ ndrpdrAND1cAND64bANDdot1ad-l2xcbase + + # plugins/vhost/vhost_user.api create_vhost_user_if_v2: '0xdba1cc1d' # dev create_vhost_user_if_v2_reply: '0x5383d31f' # dev + + # vnet/interface.api create_vlan_subif: '0xaf34ac8b' # dev create_vlan_subif_reply: '0x5383d31f' # dev + + # plugins/crypto_sw_scheduler/crypto_sw_scheduler.api crypto_sw_scheduler_set_worker: '0xb4274502' # perf crypto_sw_scheduler_set_worker_reply: '0xe8d4e804' # perf # ^^ 64B-1c-ethip4ipsec8tnlswasync-scheduler-ip4base-int-aes128gcm-udir-ndrpdr # ^ ndrpdrAND1cAND64BANDethip4ipsec8tnlswasync-scheduler-ip4base-int-\ # aes128gcm-udir + + # plugins/nat/det44/det44.api det44_add_del_map: '0x1150a190' # dev det44_add_del_map_reply: '0xe8d4e804' # dev det44_interface_add_del_feature: '0xdc17a836' # dev @@ -96,6 +125,8 @@ det44_session_dump: '0xe45a3af7' # dev # TODO: Which test to run to verify det44_* messages? # dhcp_proxy_dump / details # honeycomb + + # vnet/flow/flow.api flow_add_v2: '0x5b757558' # dev flow_add_v2_reply: '0x8587dc85' # dev flow_del: '0xb6b9b02c' # dev @@ -104,35 +135,57 @@ flow_disable_reply: '0xe8d4e804' # dev flow_enable: '0x2024be69' # dev flow_enable_reply: '0xe8d4e804' # dev + + # plugins/geneve/geneve.api geneve_add_del_tunnel2: '0x8c2a9999' # dev geneve_add_del_tunnel2_reply: '0x5383d31f' # dev geneve_tunnel_details: '0x6b16eb24' # dev geneve_tunnel_dump: '0xf9e6675e' # dev + + # plugins/lisp/lisp-gpe/lisp_gpe.api gpe_enable_disable: '0xc264d7bf' # dev gpe_enable_disable_reply: '0xe8d4e804' # dev + # gre_tunnel_add_del / reply # unused L1 keyword: create_gre_tunnel_interface + + # plugins/gtpu/gtpu.api gtpu_add_del_tunnel: '0xca983a2b' # perf gtpu_add_del_tunnel_reply: '0x5383d31f' # perf # ^^ 64B-1c-ethip4gtpusw-ip4base-ndrpdr # ^ ndrpdrAND1cAND64BANDethip4gtpusw-ip4base gtpu_offload_rx: '0xf0b08786' # perf gtpu_offload_rx_reply: '0xe8d4e804' # perf + + # vnet/interface.api hw_interface_set_mtu: '0xe6746899' # dev hw_interface_set_mtu_reply: '0xe8d4e804' # dev + + # vnet/classify/classify.api input_acl_set_interface: '0xde7ad708' # dev input_acl_set_interface_reply: '0xe8d4e804' # dev + + # vnet/ip/ip.api ip_address_details: '0xee29b797' # dev ip_address_dump: '0x2d033de4' # dev + + # vnet/ip-neighbor/ip_neighbor.api ip_neighbor_add_del: '0x0607c257' # dev ip_neighbor_add_del_reply: '0x1992deab' # dev + # ip_probe_neighbor / reply # unused L1 keyword vpp_ip_probe + + # vnet/ip/ip.api ip_route_add_del: '0xb8ecfe0d' # dev ip_route_add_del_reply: '0x1992deab' # dev # ip_source_check_interface_add_del / reply # unused L1 keyword vpp_ip_source_check_setup ip_table_add_del: '0x0ffdaec0' # dev ip_table_add_del_reply: '0xe8d4e804' # dev + + # vnet/ipip/ipip.api ipip_add_tunnel: '0x2ac399f5' # dev ipip_add_tunnel_reply: '0x5383d31f' # dev + + # vnet/ipsec/ipsec.api ipsec_interface_add_del_spd: '0x80f80cbb' # dev ipsec_interface_add_del_spd_reply: '0xe8d4e804' # dev ipsec_sa_v3_details: '0x2fc991ee' # dev @@ -153,6 +206,8 @@ ipsec_tunnel_protect_update_reply: '0xe8d4e804' # dev # ^^ 64B-1c-ethip4ipsec1tnlhw-ip4base-int-aes256gcm-ndrpdr # ^ See ipsec_select_backend. + + # vnet/l2/l2.api # l2_fib_table_dump / details # honeycomb l2_interface_vlan_tag_rewrite: '0x62cc0bbc' # perf l2_interface_vlan_tag_rewrite_reply: '0xe8d4e804' # perf @@ -161,6 +216,8 @@ l2_patch_add_del: '0xa1f6a6f3' # dev l2_patch_add_del_reply: '0xe8d4e804' # dev # l2fib_add_del / reply # unused L1 keyword: vpp_add_l2fib_entry + + # plugins/lb/lb.api lb_add_del_as: '0x35d72500' # perf lb_add_del_as_reply: '0xe8d4e804' # perf lb_add_del_intf_nat4: '0x47d6e753' # perf @@ -171,6 +228,8 @@ lb_conf_reply: '0xe8d4e804' # perf # 8x^ 64B-1c-ethip4-loadbalancer-nat4-ndrpdr # ^ 2n: ndrpdrAND1cAND64BANDethip4-loadbalancer-nat4 + + # plugins/lisp/lisp-cp/lisp.api lisp_add_del_adjacency: '0x2ce0e6f6' # dev lisp_add_del_adjacency_reply: '0xe8d4e804' # dev lisp_add_del_local_eid: '0x4e5a83a2' # dev @@ -186,6 +245,8 @@ lisp_eid_table_add_del_map_reply: '0xe8d4e804' # dev lisp_enable_disable: '0xc264d7bf' # dev lisp_enable_disable_reply: '0xe8d4e804' # dev + + # plugins/acl/acl.api macip_acl_add: '0xce6fbad0' # dev macip_acl_add_reply: '0xac407b0c' # dev macip_acl_details: '0x27135b59' # dev teardown @@ -194,12 +255,16 @@ macip_acl_interface_add_del_reply: '0xe8d4e804' # dev macip_acl_interface_get: '0x51077d14' # dev teardown macip_acl_interface_get_reply: '0xaccf9b05' # dev teardown - memif_create: '0xb1b25061' # dev - memif_create_reply: '0x5383d31f' # dev + + # plugins/memif/memif.api + memif_create_v2: '0x8c7de5f7' # dev + memif_create_v2_reply: '0x5383d31f' # dev memif_details: '0xda34feb9' # dev memif_dump: '0x51077d14' # dev - memif_socket_filename_add_del: '0xa2ce1a10' # dev - memif_socket_filename_add_del_reply: '0xe8d4e804' # dev + memif_socket_filename_add_del_v2: '0x34223bdf' # dev + memif_socket_filename_add_del_v2_reply: '0x9f29bdb9' # dev + + # plugins/nat/nat44-ed/nat44_ed.api nat44_add_del_address_range: '0x6f2b8055' # dev nat44_add_del_address_range_reply: '0xe8d4e804' # dev nat44_address_details: '0x0d1beac1' # dev teardown @@ -220,30 +285,44 @@ # by show_nat_user_data function nat_worker_details: '0x84bf06fc' # dev teardown nat_worker_dump: '0x51077d14' # dev teardown + + # plugins/nsim/nsim.api nsim_configure2: '0x64de8ed3' # perf nsim_configure2_reply: '0xe8d4e804' # perf nsim_output_feature_enable_disable: '0x3865946c' # perf nsim_output_feature_enable_disable_reply: '0xe8d4e804' # perf # 4x^ 1280B-1c-eth-ip4udpquicscale10cl1s-vppecho-bps # ^ 1280BAND1cANDeth-ip4udpquicscale10cl1s-vppecho + + # vnet/policer/policer.api policer_add_del: '0x2b31dd38' # dev policer_add_del_reply: '0xa177cef2' # dev + + # vnet/classify/classify.api policer_classify_set_interface: '0xde7ad708' # dev policer_classify_set_interface_reply: '0xe8d4e804' # dev + + # plugins/rdma/rdma.api rdma_create_v3: '0xc6287ea8' # perf rdma_create_v3_reply: '0x5383d31f' # perf # 2x^ Any test with drv_rdma. Currently only available on 2n-clx. # - Not testable by devicetest (until we have environment with right NICs). + + # vlibmemory/vlib.api show_threads: '0x51077d14' # dev show_threads_reply: '0xefd78e83' # dev + + # vpp/api/vpe.api show_version: '0x51077d14' # dev setup show_version_reply: '0xc919bde1' # dev setup + + # vnet/srv6/sr.api sr_localsid_add_del: '0x5a36c324' # dev sr_localsid_add_del_reply: '0xe8d4e804' # dev sr_localsids_details: '0x2e9221b9' # dev teardown sr_localsids_dump: '0x51077d14' # dev teardown - sr_policies_details: '0xdb6ff2a1' # dev teardown - sr_policies_dump: '0x51077d14' # dev teardown + sr_policies_v2_details: '0x96dcb699' # dev teardown + sr_policies_v2_dump: '0x51077d14' # dev teardown sr_policy_add: '0x44ac92e8' # dev sr_policy_add_reply: '0xe8d4e804' # dev sr_set_encap_source: '0xd3bad5e1' # dev @@ -252,26 +331,39 @@ sr_steering_add_del_reply: '0xe8d4e804' # dev sr_steering_pol_details: '0xd41258c9' # dev teardown sr_steering_pol_dump: '0x51077d14' # dev teardown + + # vnet/bonding/bond.api sw_bond_interface_details: '0x9428a69c' # perf sw_bond_interface_dump: '0xf9e6675e' # perf # ^^ see bond_* + + # vnet/interface.api sw_interface_add_del_address: '0x5463d73b' # dev sw_interface_add_del_address_reply: '0xe8d4e804' # dev sw_interface_details: '0x6c221fc7' # dev sw_interface_dump: '0xaa610c27' # dev # sw_interface_get_table / reply # honeycomb + + # vnet/ip6-nd/ip6_nd.api sw_interface_ip6nd_ra_config: '0x3eb00b1c' # dev sw_interface_ip6nd_ra_config_reply: '0xe8d4e804' # dev + + # vnet/interface.api sw_interface_rx_placement_details: '0x9e44a7ce' # dev sw_interface_rx_placement_dump: '0xf9e6675e' # dev sw_interface_set_flags: '0xf5aec1b8' # dev sw_interface_set_flags_reply: '0xe8d4e804' # dev + # sw_interface_set_geneve_bypass can be called # by enable_interface_geneve_bypass function + + # vnet/l2/l2.api sw_interface_set_l2_bridge: '0xd0678b13' # dev sw_interface_set_l2_bridge_reply: '0xe8d4e804' # dev sw_interface_set_l2_xconnect: '0x4fa28a85' # dev sw_interface_set_l2_xconnect_reply: '0xe8d4e804' # dev + + # vnet/interface.api sw_interface_set_mac_address: '0xc536e7eb' # dev sw_interface_set_mac_address_reply: '0xe8d4e804' # dev sw_interface_set_rx_placement: '0xdb65f3c9' # dev @@ -280,27 +372,42 @@ sw_interface_set_table_reply: '0xe8d4e804' # dev sw_interface_set_unnumbered: '0x154a6439' # dev sw_interface_set_unnumbered_reply: '0xe8d4e804' # dev + + # plugins/vxlan/vxlan.api sw_interface_set_vxlan_bypass: '0x65247409' # dev sw_interface_set_vxlan_bypass_reply: '0xe8d4e804' # dev + + # vnet/devices/tap/tapv2.api sw_interface_tap_v2_details: '0x1e2b2a47' # dev sw_interface_tap_v2_dump: '0xf9e6675e' # dev + + # plugins/vhost/vhost_user.api sw_interface_vhost_user_details: '0x0cee1e53' # dev teardown sw_interface_vhost_user_dump: '0xf9e6675e' # dev deardown + + # vnet/bonding/bond.api sw_member_interface_details: '0x3c4a0e23' # perf sw_member_interface_dump: '0xf9e6675e' # perf # ^^ see bond_* + + # vnet/devices/tap/tapv2.api tap_create_v3: '0x3f3fd1df' # dev tap_create_v3_reply: '0x5383d31f' # dev + + # plugins/vxlan/vxlan.api vxlan_add_del_tunnel_v3: '0x0072b037' # dev vxlan_add_del_tunnel_v3_reply: '0x5383d31f' # dev # vxlan_gpe_tunnel_dump / details # honeycomb # vxlan_tunnel_dump /details # unused L2 keyword: Get VXLAN dump + + # plugins/wireguard/wireguard.api wireguard_interface_create: '0xa530137e' wireguard_interface_create_reply: '0x5383d31f' wireguard_peer_add: '0x9b8aad61' wireguard_peer_add_reply: '0x084a0cd3' wg_set_async_mode: '0xa6465f7c' wg_set_async_mode_reply: '0xe8d4e804' + # Please keep alphabetic order. # Use bash command "env LC_COLLATE=C sort -u" if not clear. diff --git a/resources/libraries/python/Memif.py b/resources/libraries/python/Memif.py index d38f5000a7..4e0bb5fa4f 100644 --- a/resources/libraries/python/Memif.py +++ b/resources/libraries/python/Memif.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. +# Copyright (c) 2023 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -74,7 +74,7 @@ class Memif: includes only retval. :rtype: dict """ - cmd = u"memif_socket_filename_add_del" + cmd = u"memif_socket_filename_add_del_v2" err_msg = f"Failed to create memif socket on host {node[u'host']}" args = dict( is_add=is_add, @@ -85,7 +85,7 @@ class Memif: return papi_exec.add(cmd, **args).get_reply(err_msg) @staticmethod - def _memif_create(node, mid, sid, rxq=1, txq=1, role=1): + def _memif_create(node, mid, sid, rxq=1, txq=1, role=1, use_dma=False): """Create Memif interface on the given node, return its sw_if_index. :param node: Given node to create Memif interface on. @@ -94,16 +94,18 @@ class Memif: :param rxq: Number of RX queues; 0 means do not set. :param txq: Number of TX queues; 0 means do not set. :param role: Memif interface role [master=0|slave=1]. Default is slave. + :param use_dma: Use DMA acceleration. Requires hardware support. :type node: dict :type mid: str :type sid: str :type rxq: int :type txq: int :type role: int + :type use_dma: bool :returns: sw_if_index :rtype: int """ - cmd = u"memif_create" + cmd = u"memif_create_v2" err_msg = f"Failed to create memif interface on host {node[u'host']}" args = dict( role=role, @@ -111,7 +113,8 @@ class Memif: tx_queues=int(txq), socket_id=int(sid), id=int(mid), - secret=u"" + secret=u"", + use_dma=use_dma, ) with PapiSocketExecutor(node) as papi_exec: @@ -119,7 +122,8 @@ class Memif: @staticmethod def create_memif_interface( - node, filename, mid, sid, rxq=1, txq=1, role=u"SLAVE"): + node, filename, mid, sid, rxq=1, txq=1, role=u"SLAVE", use_dma=False + ): """Create Memif interface on the given node. :param node: Given node to create Memif interface on. @@ -129,6 +133,7 @@ class Memif: :param rxq: Number of RX queues; 0 means do not set. :param txq: Number of TX queues; 0 means do not set. :param role: Memif interface role [master=0|slave=1]. Default is master. + :param use_dma: Use DMA acceleration. Requires hardware support. :type node: dict :type filename: str :type mid: str @@ -136,6 +141,7 @@ class Memif: :type rxq: int :type txq: int :type role: str + :type use_dma: bool :returns: SW interface index. :rtype: int :raises ValueError: If command 'create memif' fails. @@ -147,7 +153,7 @@ class Memif: # Create memif sw_if_index = Memif._memif_create( - node, mid, sid, rxq=rxq, txq=txq, role=role + node, mid, sid, rxq=rxq, txq=txq, role=role, use_dma=use_dma ) # Update Topology diff --git a/resources/libraries/python/SRv6.py b/resources/libraries/python/SRv6.py index eca22a2b17..d16c3529c3 100644 --- a/resources/libraries/python/SRv6.py +++ b/resources/libraries/python/SRv6.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. +# Copyright (c) 2023 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -222,6 +222,8 @@ class SRv6: :type sid_list: list :type mode: str """ + # TODO: Convert to use sr_policy_add_v2. + # The conversion is not straightforward so it was not done when bumping. cmd = u"sr_policy_add" args = dict( bsid_addr=IPv6Address(bsid).packed, @@ -243,7 +245,7 @@ class SRv6: :param node: Given node to show SRv6 policies on. :type node: dict """ - cmd = u"sr_policies_dump" + cmd = u"sr_policies_v2_dump" PapiSocketExecutor.dump_and_log(node, (cmd,)) @staticmethod |