From e7b535d30d035ecd16e083059a92475b3aad8209 Mon Sep 17 00:00:00 2001 From: Michael Adisumarta Date: Tue, 9 Aug 2022 20:53:28 -0700 Subject: [PATCH] msm: ipa3: Add multi IDU support for external router mode FR Update ext router mode IOCTL to get an array of delegated prefixes and their corresponding IDU WAN IP. Change-Id: I8ea6a98f8f0f894409e9c5af4db0bd37b46778b2 Signed-off-by: Michael Adisumarta --- include/uapi/linux/msm_ipa.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/msm_ipa.h b/include/uapi/linux/msm_ipa.h index 63f21763394a..b6ad02a7ea3c 100644 --- a/include/uapi/linux/msm_ipa.h +++ b/include/uapi/linux/msm_ipa.h @@ -219,6 +219,11 @@ #define IPA_CV2X_SUPPORT +/** + * Max number of delegated IDUs for prefix delegation FR + */ +#define IPA_PREFIX_MAPPING_MAX 16 + /** * the attributes of the rule (routing or filtering) */ @@ -3423,14 +3428,20 @@ enum ipa_ext_router_mode { * struct ipa_ioc_ext_router_info - provide ext_router info * @ipa_ext_router_mode: prefix sharing, prefix delegation, or disabled mode * @pdn_name: PDN interface name - * @ipv6_addr: the prefix addr used for dummy or delegated prefixes + * @ipv6_addr: the prefix addr used for the dummy prefix. (prefix sharing mode) * @ipv6_mask: the ipv6 mask used to mask above addr to get the correct prefix + * @num_of_del_prefix_mapping: number of delegated prefix to IDU IP mapping + * @idu_del_wan_ip: array of IDU WAN IP to be mapped to a delegated prefix + * @idu_del_client_prefix: Array of delegated prefixes */ struct ipa_ioc_ext_router_info { enum ipa_ext_router_mode mode; char pdn_name[IPA_RESOURCE_NAME_MAX]; uint32_t ipv6_addr[4]; uint32_t ipv6_mask[4]; + int num_of_idu_prefix_mapping; + uint32_t idu_wan_ip[IPA_PREFIX_MAPPING_MAX][4]; + uint32_t idu_client_prefix[IPA_PREFIX_MAPPING_MAX][4]; }; /**