123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395 |
- /*
- * Copyright (c) 2017,2019 The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- * * Neither the name of The Linux Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #ifndef CONSTANTS_H_
- #define CONSTANTS_H_
- #include <stdlib.h>
- #include <stdio.h>
- #define PRE_PHASE_ZERO_TEST_CONFIGURATION 0
- /*----------------------------------------------------------------------
- *Configuration 1 (see configure_system_1 )
- *-----USB_PROD--->[IPA DMA]----USB_CONS--->
- *----------------------------------------------------------------------
- */
- #define PHASE_ZERO_TEST_CONFIGURATION 1
- /*----------------------------------------------------------------------
- *Configuration 2 (see configure_system_2 )
- * [IPA]----USB2_CONS-->
- *-----USB_PROD--->[IPA]----USB3_CONS--->
- * [IPA]----USB4_CONS--->
- *----------------------------------------------------------------------
- */
- #define PHASE_TWO_TEST_CONFIGURATION 2
- /*----------------------------------------------------------------------
- *Configuration 3 (see configure_system_3 )
- * [IPA]----USB_CONS------>
- *-----USB2_PROD--->[IPA]----USB2_CONS--->
- * [IPA]----USB4_CONS---->
- *----------------------------------------------------------------------
- */
- #define PHASE_THREE_TEST_CONFIGURATION 3
- /*Configuration 5 (see configure_system_5 )
- * [IPA]----USB2_CONS + Header Insertion (6Bytes) -->
- *-----USB_PROD--->[IPA]----USB3_CONS +
- *Header Insertion (22Bytes) + Length offset (11Bytes) -->
- * [IPA]----USB4_CONS +
- *Header Insertion (22Bytes) + Length offset (11Bytes) + Const(1Byte)-->
- */
- /* This Cfg is only for USB Integration Phase I*/
- #define PHASE_FIVE_TEST_CONFIGURATION 5
- #define PHASE_SIX_TEST_CONFIGURATION 6
- /*Configuration 7 (see configure_system_7 )
- * [IPA]----USB2_CONS-->
- *-----USB_PROD--->[IPA]----USB3_CONS--->
- * [IPA]----USB4_CONS--->
- * [IPA]----A5 - Exception Pipe--->
- */
- #define PHASE_SEVEN_TEST_CONFIGURATION 7
- /*----------------------------------------------------------------------
- *Configuration 8 (see configure_system_8 )
- *-----USB3_CONS--->[IPA DMA]----USB_CONS (TLP aggregation byte limit)--->
- *-----USB_PROD (TLP deaggregation)--->[IPA DMA]----USB3_CONS--->
- *-----USB2_PROD (TLP deaggregation)--->
- *-----[IPA DMA]----USB_CONS (TLP aggregation byte limit)--->
- *-----USB4_PROD--->[IPA DMA]----USB2_CONS (TLP aggregation time limit)--->
- *----------------------------------------------------------------------
- */
- #define PHASE_EIGHT_TEST_CONFIGURATION 8
- /*----------------------------------------------------------------------
- *Configuration 9 (see configure_system_9 )
- *-----USB3_PROD--->[IPA DMA]----USB_CONS (MBIM aggregation byte limit)--->
- *-----USB_PROD (MBIM deaggregation)--->[IPA DMA]----USB3_CONS--->
- *-----USB2_PROD (MBIM deaggregation)--->
- *-----[IPA DMA]----USB_CONS (MBIM aggregation byte limit)--->
- *-----USB4_PROD--->[IPA DMA]----USB2_CONS (MBIM aggregation time limit)--->
- *----------------------------------------------------------------------
- */
- #define PHASE_NINE_TEST_CONFIGURATION 9
- /*----------------------------------------------------------------------
- *Configuration 10 (see configure_system_10 )
- *-----USB_PROD--->[IPA DMA]----USB_CONS (MBIM aggregation no limits)--->
- *----------------------------------------------------------------------
- */
- #define PHASE_TEN_TEST_CONFIGURATION 10
- /*----------------------------------------------------------------------
- *Configuration 11 (see configure_system_11 )
- *-----USB_PROD----->[IPA]----
- * USB2_CONS(MBIM aggregation byte limit)--->
- *-USB2_PROD (MBIM deaggregation)->[IPA]----USB3_CONS--->
- *------------------>[IPA]----
- *USB_CONS (MBIM aggregation time limit)----------->
- *------------------>[IPA]----
- *A5_LAN_WAN_CONS (MBIM aggregation no limits)---->
- *----------------------------------------------------------------------
- */
- #define PHASE_ELEVEN_TEST_CONFIGURATION 11
- /*----------------------------------------------------------------------
- *Configuration 12 (see configure_system_12 )
- *-----USB_PROD----->[IPA]----USB2_CONS (MBIM aggregation byte limit)--->
- *-USB2_PROD (MBIM deaggregation)->[IPA]----USB3_CONS--->
- *------------------>[IPA]----
- * USB_CONS (MBIM aggregation time limit)----------->
- *------------------>[IPA]----
- * A5_LAN_WAN_CONS (MBIM aggregation no limits)---->
- *----------------------------------------------------------------------
- */
- #define PHASE_TWELVE_TEST_CONFIGURATION 12
- /*----------------------------------------------------------------------
- *Configuration 9 (see configure_system_17 )
- *-----USB3_PROD--->[IPA DMA]----USB_CONS (RNDIS aggregation byte limit)--->
- *-----USB_PROD (RNDIS deaggregation)--->[IPA DMA]----USB3_CONS--->
- *-----USB2_PROD (RNDIS deaggregation)--->
- *-----[IPA DMA]----USB_CONS (RNDIS aggregation byte limit)--->
- *-----USB4--->[IPA DMA]----USB2_CONS (RNDIS aggregation time limit)--->
- *----------------------------------------------------------------------
- */
- #define PHASE_SEVENTEEN_TEST_CONFIGURATION 17
- /*
- * Data path test
- */
- #define PHASE_EIGHTEEN_TEST_CONFIGURATION 18
- /*----------------------------------------------------------------------
- *Configuration 19 (see configure_system_19 )
- *-----USB_PROD--->[IPA DMA]----USB_CONS--->
- *-----suspend [IPA DMA]----USB_CONS (for testing suspend interrupt)--->
- *----------------------------------------------------------------------
- */
- #define PHASE_NINETEEN_TEST_CONFIGURATION 19
- #define PHASE_TWENTY_TEST_CONFIGURATION 20
- /*----------------------------------------------------------------------
- *Configuration 20 (see configure_system_20 )
- *-----PROD (WLAN header removal)--------------------->[IPA]----CONS---->
- *-----PROD (RNDIS de-aggregation + Header removal)--->[IPA]
- *----------------------------------------------------------------------
- */
- enum IPATestConfiguration {
- IPA_TEST_CONFIFURATION_0 = PRE_PHASE_ZERO_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_1 = PHASE_ZERO_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_2 = PHASE_TWO_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_3 = PHASE_THREE_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_5 = PHASE_FIVE_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_6 = PHASE_SIX_TEST_CONFIGURATION,
- IPA_TEST_CONFIFURATION_7 = PHASE_SEVEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_8 = PHASE_EIGHT_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_9 = PHASE_NINE_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_10 = PHASE_TEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_11 = PHASE_ELEVEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_12 = PHASE_TWELVE_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_17 = PHASE_SEVENTEEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_18 = PHASE_EIGHTEEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_19 = PHASE_NINETEEN_TEST_CONFIGURATION,
- IPA_TEST_CONFIGURATION_20 = PHASE_NINETEEN_TEST_CONFIGURATION,
- };
- #define CONFIGURATION_NODE_PATH "/dev/ipa_test"
- /*producer*/
- #define INTERFACE0_TO_IPA_DATA_PATH "/dev/to_ipa_0"
- #define INTERFACE0_FROM_IPA_DATA_PATH NULL
- /*producer*/
- #define INTERFACE4_TO_IPA_DATA_PATH "/dev/to_ipa_1"
- #define INTERFACE4_FROM_IPA_DATA_PATH NULL
- /*producer*/
- #define INTERFACE5_TO_IPA_DATA_PATH "/dev/to_ipa_2"
- #define INTERFACE5_FROM_IPA_DATA_PATH NULL
- /*consumer*/
- #define INTERFACE1_TO_IPA_DATA_PATH NULL
- #define INTERFACE1_FROM_IPA_DATA_PATH "/dev/from_ipa_0"
- /*consumer 2*/
- #define INTERFACE2_TO_IPA_DATA_PATH NULL
- #define INTERFACE2_FROM_IPA_DATA_PATH "/dev/from_ipa_1"
- /*Default consumer*/
- #define INTERFACE3_TO_IPA_DATA_PATH NULL
- #define INTERFACE3_FROM_IPA_DATA_PATH "/dev/from_ipa_2"
- /*Exceptions producer*/
- #define INTERFACE_TO_IPA_EXCEPTION_PATH NULL
- #define INTERFACE_FROM_IPA_EXCEPTION_PATH "/dev/ipa_exception_pipe"
- /*The next configuration should be used by the ITAKEM as well.*/
- /*----------------------------------------------------------------------
- *Configuration 1 (see configure_system_1 )
- *-----USB_PROD--->[IPA DMA]----USB_CONS--->
- *----------------------------------------------------------------------
- */
- #define CONFIG_1_FROM_USB1_TO_IPA_DMA "/dev/to_ipa_0"
- #define CONFIG_1_FROM_IPA_TO_USB1_DMA "/dev/from_ipa_0"
- /*----------------------------------------------------------------------
- *Configuration 2 (see configure_system_2 )
- * [IPA]----USB2_CONS-->
- *-----USB_PROD--->[IPA]----USB3_CONS--->
- * [IPA]----Q6_LAN_CONS--->
- *---------------------------------------------------------------------
- */
- #define CONFIG_2_FROM_USB_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_2_FROM_IPA_TO_A2_NDUN "/dev/from_ipa_0"
- #define CONFIG_2_FROM_IPA_TO_A2_DUN "/dev/from_ipa_1"
- #define CONFIG_2_FROM_IPA_TO_Q6_LAN "/dev/from_ipa_2"
- /*USB1 is an EthernetII Client*/
- #define FROM_USB1_TO_IPA "/dev/to_ipa_0"
- #define FROM_IPA_TO_USB1 "/dev/from_ipa_0"
- #define USB1_CLIENT_HEADER_LENGTH 14
- /*----------------------------------------------------------------------
- *Configuration 3 (see configure_system_3 )
- * [IPA]----USB_CONS------>
- *-----USB2_PROD--->[IPA]----USB2_CONS--->
- * [IPA]----Q6_LAN_CONS---->
- *----------------------------------------------------------------------
- */
- #define CONFIG_3_FROM_A2_NDUN_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_3_FROM_IPA_TO_USB1 "/dev/from_ipa_0"
- #define CONFIG_3_FROM_IPA_TO_A2_NDUN "/dev/from_ipa_1"
- #define CONFIG_3_FROM_IPA_TO_Q6_LAN "/dev/from_ipa_2"
- /*----------------------------------------------------------------------
- *Configuration 8 (see configure_system_8 )
- *-----USB3_PROD--->[IPA DMA]----
- *-----USB_CONS (TLP aggregation byte limit)--->
- *-----USB_PROD (TLP deaggregation)--->[IPA DMA]----USB3_CONS--->
- *-----USB2_PROD (TLP deaggregation)--->
- * [IPA DMA]----USB_CONS (TLP aggregation byte limit)--->
- *-----USB4--->[IPA DMA]----USB2_CONS (TLP aggregation time limit)--->
- *----------------------------------------------------------------------
- */
- #define CONFIG_8_NO_AGG_TO_IPA_AGG "/dev/to_ipa_0"
- #define CONFIG_8_DEAGG_TO_IPA_NO_AGG "/dev/to_ipa_1"
- #define CONFIG_8_DEAGG_TO_IPA_AGG "/dev/to_ipa_2"
- #define CONFIG_8_NO_AGG_TO_IPA_AGG_TIME "/dev/to_ipa_3"
- #define CONFIG_8_FROM_IPA_AGG "/dev/from_ipa_0"
- #define CONFIG_8_FROM_IPA_NO_AGG "/dev/from_ipa_1"
- #define CONFIG_8_DEAGG_FROM_IPA_AGG "/dev/from_ipa_2"
- /*----------------------------------------------------------------------
- *Configuration 9 (see configure_system_9 )
- *-----USB3_PROD--->[IPA DMA]----
- * USB_CONS (MBIM aggregation byte limit)--->
- *-----USB_PROD (MBIM deaggregation)--->[IPA DMA]----USB3_CONS--->
- *-----USB2_PROD (MBIM deaggregation)--->
- * [IPA DMA]----USB_CONS (MBIM aggregation byte limit)--->
- *-----USB4--->[IPA DMA]----
- * USB2_CONS (MBIM aggregation time limit)--->
- *----------------------------------------------------------------------
- */
- #define CONFIG_9_NO_AGG_TO_IPA_AGG "/dev/to_ipa_0"
- #define CONFIG_9_DEAGG_TO_IPA_NO_AGG "/dev/to_ipa_1"
- #define CONFIG_9_DEAGG_TO_IPA_AGG "/dev/to_ipa_2"
- #define CONFIG_9_NO_AGG_TO_IPA_AGG_TIME "/dev/to_ipa_3"
- #define CONFIG_9_FROM_IPA_AGG "/dev/from_ipa_0"
- #define CONFIG_9_FROM_IPA_NO_AGG "/dev/from_ipa_1"
- #define CONFIG_9_DEAGG_FROM_IPA_AGG "/dev/from_ipa_2"
- /*----------------------------------------------------------------------
- *Configuration 10 (see configure_system_10 )
- *-----USB_PROD--->[IPA DMA]----
- * USB_CONS (MBIM aggregation no limits)--->
- *----------------------------------------------------------------------
- */
- #define CONFIG_10_TO_IPA_AGG_ZERO_LIMITS "/dev/to_ipa_0"
- #define CONFIG_10_FROM_IPA_AGG_ZERO_LIMITS "/dev/from_ipa_0"
- /*----------------------------------------------------------------------
- *Configuration 11 (see configure_system_11 )
- *-----USB_PROD----->[IPA]----
- * USB2_CONS (MBIM aggregation byte limit)--->
- * USB2_PROD (MBIM deaggregation)->[IPA]----USB3_CONS--->
- *------------------>[IPA]----
- * USB_CONS (MBIM aggregation time limit)----------->
- *------------------>[IPA
- * A5_LAN_WAN_CONS (MBIM aggregation no limits)---->
- *----------------------------------------------------------------------
- */
- #define CONFIG_11_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_11_TO_IPA_DEAGG "/dev/to_ipa_1"
- #define CONFIG_11_FROM_IPA_AGG "/dev/from_ipa_0"
- #define CONFIG_11_FROM_IPA "/dev/from_ipa_1"
- #define CONFIG_11_FROM_IPA_AGG_TIME "/dev/from_ipa_2"
- #define CONFIG_11_FROM_IPA_ZERO_LIMITS "/dev/from_ipa_3"
- /*----------------------------------------------------------------------
- *Configuration 12 (see configure_system_12 )
- *-----USB_PROD----->[IPA]----
- * USB2_CONS (MBIM aggregation byte limit)--->
- *-USB2_PROD (MBIM deaggregation)->[IPA]----USB3_CONS--->
- *------------------>[IPA]----
- * USB_CONS (MBIM aggregation time limit)----------->
- *------------------>[IPA]----
- * A5_LAN_WAN_CONS (MBIM aggregation no limits)---->
- *----------------------------------------------------------------------
- */
- #define CONFIG_12_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_12_TO_IPA_DEAGG "/dev/to_ipa_1"
- #define CONFIG_12_FROM_IPA_AGG "/dev/from_ipa_0"
- #define CONFIG_12_FROM_IPA "/dev/from_ipa_1"
- #define CONFIG_12_FROM_IPA_AGG_TIME "/dev/from_ipa_2"
- #define CONFIG_12_FROM_IPA_ZERO_LIMITS "/dev/from_ipa_3"
- /*Configuration 7 (see configure_system_7 )
- * [IPA]----USB2_CONS-->
- *-----USB_PROD--->[IPA]----USB3_CONS--->
- * [IPA]----Q6_LAN_CONS--->
- * [IPA]----A5 - Exception Pipe--->
- */
- #define CONFIG_7_FROM_USB1_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_7_FROM_IPA_TO_A5_EXCEPTION "/dev/ipa_exception_pipe"
- /*----------------------------------------------------------------------
- *Configuration 17 (see configure_system_17 )
- *-----USB_PROD----->[IPA]----
- * USB2_CONS (RNDIS aggregation byte limit)--->
- * USB2_PROD (RNDIS deaggregation)->[IPA]----USB3_CONS--->
- *------------------>[IPA]----
- * USB_CONS (RNDIS aggregation time limit)----------->
- *------------------>[IPA]----
- * A5_LAN_WAN_CONS (RNDIS aggregation no limits)---->
- *----------------------------------------------------------------------
- */
- #define CONFIG_17_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_17_TO_IPA_NO_HDR "/dev/to_ipa_1"
- #define CONFIG_17_TO_IPA_DEAGG "/dev/to_ipa_2"
- #define CONFIG_17_FROM_IPA_AGG "/dev/from_ipa_0"
- #define CONFIG_17_FROM_IPA "/dev/from_ipa_1"
- #define CONFIG_17_FROM_IPA_AGG_TIME "/dev/from_ipa_2"
- #define CONFIG_17_FROM_IPA_ZERO_LIMITS "/dev/from_ipa_3"
- /*----------------------------------------------------------------------
- *Configuration 18 (see configure_system_18 )---------------------------
- *-----USB_PROD----->[IPA]--------------->USB_CONS--------->A5----------
- *-----USB_PROD2 is a dummy endpoint handle for packet handling between-
- *-----user space and kernel space in the IPA driver--------------------
- *----------------------------------------------------------------------
- */
- #define CONFIG_18_TO_IPA "/dev/to_ipa_0"
- #define CONFIG_18_DUMMY_ENDPOINT "/dev/to_ipa_1"
- #define CONFIG_18_FROM_IPA "/dev/from_ipa_0"
- /*----------------------------------------------------------------------
- *Configuration 19 (see configure_system_19 )
- *-----USB_PROD--->[IPA DMA]----USB_CONS--->
- *----------------------------------------------------------------------
- */
- #define CONFIG_19_FROM_USB_TO_IPA_DMA "/dev/to_ipa_0"
- #define CONFIG_19_FROM_IPA_TO_USB_DMA "/dev/from_ipa_0"
- enum ipv6_ext_hdr_type {
- HOP_BY_HOP_OPT = 0,
- DEST_OPT = 60,
- ROUTING = 43,
- FRAGMENT = 44,
- AH = 51,
- ESP = 50,
- DEST_OPT_UL = 60,
- Mobility = 135,
- NONE = 59
- };
- /*File that are being used by the test application:*/
- #define IPV4_FILE_PATH "Input/IPV4_3"
- /*---------------------------------------------------------------------
- *XUnit tests results format file name
- *----------------------------------------------------------------------
- */
- #define XUNIT_REPORT_PATH_AND_NAME "junit_result.xml"
- #endif /* CONSTANTS_H_ */
|