aboutsummaryrefslogtreecommitdiff
path: root/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h
diff options
context:
space:
mode:
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h')
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h
deleted file mode 100644
index efcaa63..0000000
--- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-Copyright (c) 2013, 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.
-*/
-/*!
- @file
- IPACM_iface.h
-
- @brief
- This file implements the basis Iface definitions.
-
- @Author
- Skylar Chang
-
-*/
-#ifndef IPACM_IFACE_H
-#define IPACM_IFACE_H
-
-#include <stdio.h>
-#include <IPACM_CmdQueue.h>
-#include <linux/msm_ipa.h>
-#include "IPACM_Routing.h"
-#include "IPACM_Filtering.h"
-#include "IPACM_Header.h"
-#include "IPACM_EvtDispatcher.h"
-#include "IPACM_Xml.h"
-#include "IPACM_Log.h"
-#include "IPACM_Config.h"
-#include "IPACM_Defs.h"
-#include <string.h>
-
-/* current support 2 ipv6-address*/
-#define MAX_DEFAULT_v4_ROUTE_RULES 1
-#define MAX_DEFAULT_v6_ROUTE_RULES 2
-#define IPV4_DEFAULT_FILTERTING_RULES 3
-
-#ifdef FEATURE_IPA_ANDROID
-#define IPV6_DEFAULT_FILTERTING_RULES 6
-#else
-#define IPV6_DEFAULT_FILTERTING_RULES 3
-#endif
-
-#define IPV6_DEFAULT_LAN_FILTERTING_RULES 1
-#define IPV6_NUM_ADDR 3
-#define MAX_SOFTWAREROUTING_FILTERTING_RULES 2
-#define INVALID_IFACE -1
-
-/* iface */
-class IPACM_Iface :public IPACM_Listener
-{
-public:
-
- /* Static class for reading IPACM configuration from XML file*/
- static IPACM_Config *ipacmcfg;
-
- /* IPACM interface id */
- int ipa_if_num;
-
- /* IPACM interface category */
- int ipa_if_cate;
-
- /* IPACM interface name */
- char dev_name[IF_NAME_LEN];
-
- /* IPACM interface iptype v4, v6 or both */
- ipa_ip_type ip_type;
-
- /* IPACM interface v6 ip-address*/
- uint32_t ipv6_addr[MAX_DEFAULT_v6_ROUTE_RULES][4];
-
- uint32_t header_hdl;
-
- uint32_t software_routing_fl_rule_hdl[MAX_SOFTWAREROUTING_FILTERTING_RULES];
-
- bool softwarerouting_act;
-
- /* IPACM number of default route rules for ipv6*/
- int num_dft_rt_v6;
-
- uint32_t dft_v4fl_rule_hdl[IPV4_DEFAULT_FILTERTING_RULES];
- uint32_t dft_v6fl_rule_hdl[IPV6_DEFAULT_FILTERTING_RULES + IPV6_DEFAULT_LAN_FILTERTING_RULES];
- /* create additional set of v6 RT-rules in Wanv6RT table*/
- uint32_t dft_rt_rule_hdl[MAX_DEFAULT_v4_ROUTE_RULES+2*MAX_DEFAULT_v6_ROUTE_RULES];
-
- ipa_ioc_query_intf *iface_query;
- ipa_ioc_query_intf_tx_props *tx_prop;
- ipa_ioc_query_intf_rx_props *rx_prop;
-
- virtual int handle_down_evt() = 0;
-
- virtual int handle_addr_evt(ipacm_event_data_addr *data) = 0;
-
- IPACM_Iface(int iface_index);
-
- virtual void event_callback(ipa_cm_event_id event,
- void *data) = 0;
-
- /* Query ipa_interface_index by given linux interface_index */
- static int iface_ipa_index_query(int interface_index);
-
- /* Query ipa_interface ipv4_addr by given linux interface_index */
- static void iface_addr_query(int interface_index);
-
- /*Query the IPA endpoint property */
- int query_iface_property(void);
-
- /*implement IPACM strlcpy */
- size_t strlcpy(char *dest, const char *src, size_t size);
-
- /*implement IPACM strlcat */
- size_t strlcat(char *dest, const char *src, size_t n);
-
- /*Configure the initial filter rules */
- virtual int init_fl_rule(ipa_ip_type iptype);
-
- /* Get interface index */
- virtual int ipa_get_if_index(char * if_name, int * if_index);
-
- static IPACM_Routing m_routing;
- static IPACM_Filtering m_filtering;
- static IPACM_Header m_header;
-
- /* software routing enable */
- virtual int handle_software_routing_enable(void);
-
- /* software routing disable */
- virtual int handle_software_routing_disable(void);
-
-private:
-
- static const char *DEVICE_NAME;
-};
-
-#endif /* IPACM_IFACE_H */