aboutsummaryrefslogtreecommitdiff
path: root/data-ipa-cfg-mgr/ipacm/inc
diff options
context:
space:
mode:
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/inc')
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h9
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Conntrack_NATApp.h5
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h4
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h1
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Lan.h10
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h3
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h9
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Wan.h3
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Wlan.h5
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
+
};