diff options
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/inc')
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h | 9 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h | 5 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h | 4 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h | 1 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h | 10 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h | 3 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h | 9 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h | 3 | ||||
-rw-r--r-- | data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h | 5 |
9 files changed, 39 insertions, 10 deletions
diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h index 4afff00..524f4ac 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h @@ -46,9 +46,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. typedef struct { - char iface_name[IPA_IFACE_NAME_LEN]; - bool v4_up; - bool v6_up; + char iface_name[IPA_IFACE_NAME_LEN]; + bool v4_up; + bool v6_up; }NatIfaces; /* for IPACM rm dependency use*/ @@ -254,6 +254,8 @@ public: int DelExtProp(ipa_ip_type ip_type); + enum ipa_hw_type GetIPAVer(bool get = false); + int Init(void); inline bool isPrivateSubnet(uint32_t ip_addr) @@ -349,6 +351,7 @@ public: static const char *DEVICE_NAME_ODU; private: + enum ipa_hw_type ver; static IPACM_Config *pInstance; static const char *DEVICE_NAME; IPACM_Config(void); diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h index e50b316..c3749e1 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h @@ -1,5 +1,5 @@ /* -Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. +Copyright (c) 2013-2017, 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 @@ -102,11 +102,12 @@ private: bool isAlgPort(uint8_t, uint16_t); void Reset(); bool isPwrSaveIf(uint32_t); + uint32_t GenerateMetdata(uint8_t mux_id); public: static NatApp* GetInstance(); - int AddTable(uint32_t); + int AddTable(uint32_t, uint8_t mux_id); uint32_t GetTableHdl(uint32_t); int DeleteTable(uint32_t); diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h index bd47e02..051184d 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h @@ -1,5 +1,5 @@ /* -Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. +Copyright (c) 2013-2018, 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 @@ -195,6 +195,7 @@ typedef enum IPA_HANDLE_VLAN_CLIENT_INFO, /* ipacm_event_data_all */ IPA_HANDLE_VLAN_IFACE_INFO, /* ipacm_event_data_all */ #endif + IPA_WLAN_FWR_SSR_BEFORE_SHUTDOWN_NOTICE, IPA_LAN_DELETE_SELF, /* ipacm_event_data_fid */ IPACM_EVENT_MAX } ipa_cm_event_id; @@ -342,6 +343,7 @@ typedef struct _ipacm_event_iface_up uint32_t ipv6_prefix[2]; bool is_sta; uint8_t xlat_mux_id; + uint8_t mux_id; }ipacm_event_iface_up; typedef struct _ipacm_event_iface_up_tether diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h index 83e09d4..a562613 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h @@ -144,6 +144,7 @@ public: /* software routing disable */ virtual int handle_software_routing_disable(void); + void delete_iface(void); private: diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h index f27cb82..03219c5 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h @@ -1,5 +1,5 @@ /* -Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. +Copyright (c) 2013-2018, 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 @@ -241,6 +241,12 @@ protected: /* handle tethering client */ int handle_tethering_client(bool reset, ipacm_client_enum ipa_client); + /* add tcp syn flt rule */ + int add_tcp_syn_flt_rule(ipa_ip_type iptype); + + /* add tcp syn flt rule for l2tp interface*/ + int add_tcp_syn_flt_rule_l2tp(ipa_ip_type inner_ip_type); + /* store ipv4 UL filter rule handlers from Q6*/ uint32_t wan_ul_fl_rule_hdl_v4[MAX_WAN_UL_FILTER_RULES]; @@ -272,6 +278,8 @@ protected: bool is_downstream_set[IPA_IP_MAX]; _ipacm_offload_prefix prefix[IPA_IP_MAX]; + uint32_t tcp_syn_flt_rule_hdl[IPA_IP_MAX]; + private: /* get hdr proc ctx type given source and destination l2 hdr type */ diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h index b0bdeb8..81f1968 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h @@ -51,6 +51,9 @@ extern "C" #include <pthread.h> #include <sys/select.h> #include <sys/socket.h> +#include <linux/socket.h> +#include <inaddr.h> +#define sockaddr_storage __kernel_sockaddr_storage #include <linux/if.h> #include <linux/if_addr.h> #include <linux/rtnetlink.h> diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h index 5100ce3..88a411b 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018, 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 @@ -94,6 +94,8 @@ public: bool search_framwork_cache(char * interface_name); + bool push_framework_event(const char * if_name, _ipacm_offload_prefix prefix); + private: std::list<std::string> valid_ifaces; @@ -110,11 +112,14 @@ private: int resetTetherStats(const char *upstream_name); +#ifdef FEATURE_IPACM_RESTART + int push_iface_up(const char *if_name, bool upstream); +#endif + static const char *DEVICE_NAME; /* cache the add_downstream events if netdev is not ready */ framework_event_cache event_cache[MAX_EVENT_CACHE]; - bool is_cache; /* latest update cache entry */ int latest_cache_index; diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h index 6e971b8..29b1341 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h @@ -94,7 +94,8 @@ class IPACM_Wan : public IPACM_Iface { public: - + /* IPACM pm_depency q6 check*/ + static int ipa_pm_q6_check; static bool wan_up; static bool wan_up_v6; static uint8_t xlat_mux_id; diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h index 5fee0fa..94623f9 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h @@ -234,6 +234,11 @@ private: void handle_SCC_MCC_switch(ipa_ip_type); +#ifdef FEATURE_IPACM_RESTART + /*query wlan-clients */ + int ipa_query_wlan_client(); +#endif + }; |