Skip to content
This repository has been archived by the owner on Dec 28, 2022. It is now read-only.

Commit

Permalink
ether: Update ipacm to latest from upstream
Browse files Browse the repository at this point in the history
Change-Id: I1636f3698a2e5d1cebd49c7d5a2b404849e67bbc
  • Loading branch information
ryzenforce990 committed Jun 9, 2016
1 parent f29cb79 commit af5b79d
Show file tree
Hide file tree
Showing 27 changed files with 6,441 additions and 2,026 deletions.
7 changes: 4 additions & 3 deletions data-ipa-cfg-mgr/ipacm/inc/IPACM_Config.h
Expand Up @@ -62,7 +62,7 @@ typedef struct _ipa_rm_client
bool rx_bypass_ipa; /* support WLAN may not register RX-property, should not add dependency */
}ipa_rm_client;

#define MAX_NUM_EXT_PROPS 25
#define MAX_NUM_EXT_PROPS 15

/* used to hold extended properties */
typedef struct
Expand Down Expand Up @@ -115,8 +115,6 @@ class IPACM_Config

bool ipacm_odu_embms_enable;

bool ipacm_ip_passthrough_mode;

int ipa_nat_iface_entries;

/* Store the total number of wlan guest ap configured */
Expand All @@ -141,7 +139,10 @@ class IPACM_Config
/* IPACM routing table name for v4/v6 */
struct ipa_ioc_get_rt_tbl rt_tbl_lan_v4, rt_tbl_wan_v4, rt_tbl_default_v4, rt_tbl_v6, rt_tbl_wan_v6;
struct ipa_ioc_get_rt_tbl rt_tbl_wan_dl;
struct ipa_ioc_get_rt_tbl rt_tbl_lan2lan_v4, rt_tbl_lan2lan_v6;
struct ipa_ioc_get_rt_tbl rt_tbl_odu_v4, rt_tbl_odu_v6;
struct ipa_ioc_get_rt_tbl rt_tbl_eth_bridge_lan_lan_v4, rt_tbl_eth_bridge_lan_wlan_v4, rt_tbl_eth_bridge_wlan_wlan_v4;
struct ipa_ioc_get_rt_tbl rt_tbl_eth_bridge_lan_lan_v6, rt_tbl_eth_bridge_lan_wlan_v6, rt_tbl_eth_bridge_wlan_wlan_v6;

bool isMCC_Mode;

Expand Down
55 changes: 38 additions & 17 deletions data-ipa-cfg-mgr/ipacm/inc/IPACM_Defs.h
Expand Up @@ -45,12 +45,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <linux/msm_ipa.h>
#include "IPACM_Log.h"

#ifdef USE_GLIB
#include <glib.h>
#define strlcpy g_strlcpy
#define strlcat g_strlcat
#endif

extern "C"
{
#include <libnetfilter_conntrack/libnetfilter_conntrack.h>
Expand Down Expand Up @@ -89,16 +83,37 @@ extern "C"
#define WAN_DL_ROUTE_TABLE_NAME "ipa_dflt_wan_rt"
#define V6_COMMON_ROUTE_TABLE_NAME "COMRTBLv6"
#define V6_WAN_ROUTE_TABLE_NAME "WANRTBLv6"
#define V4_LAN_TO_LAN_ROUTE_TABLE_NAME "LANTOLANRTBLv4"
#define V6_LAN_TO_LAN_ROUTE_TABLE_NAME "LANTOLANRTBLv6"
#define V4_ODU_ROUTE_TABLE_NAME "ODURTBLv4"
#define V6_ODU_ROUTE_TABLE_NAME "ODURTBLv6"

#define ETH_BRIDGE_USB_CPE_ROUTE_TABLE_NAME_V4 "ETH_BRIDGE_LAN_LAN_RTBLv4"
#define ETH_BRIDGE_USB_WLAN_ROUTE_TABLE_NAME_V4 "ETH_BRIDGE_LAN_WLAN_RTBLv4"
#define ETH_BRIDGE_WLAN_WLAN_ROUTE_TABLE_NAME_V4 "ETH_BRIDGE_WLAN_WLAN_RTBLv4"
#define ETH_BRIDGE_USB_CPE_ROUTE_TABLE_NAME_V6 "ETH_BRIDGE_LAN_LAN_RTBLv6"
#define ETH_BRIDGE_USB_WLAN_ROUTE_TABLE_NAME_V6 "ETH_BRIDGE_LAN_WLAN_RTBLv6"
#define ETH_BRIDGE_WLAN_WLAN_ROUTE_TABLE_NAME_V6 "ETH_BRIDGE_WLAN_WLAN_RTBLv6"

#define WWAN_QMI_IOCTL_DEVICE_NAME "/dev/wwan_ioctl"
#define IPA_DEVICE_NAME "/dev/ipa"
#define MAX_NUM_PROP 2
#define IPA_MAX_FLT_RULE 50

#define MAX_OFFLOAD_PAIR 3
#define MAX_NUM_PROP 8
#define IPA_LAN_TO_LAN_USB_HDR_NAME_V4 "Lan2Lan_USB_v4"
#define IPA_LAN_TO_LAN_USB_HDR_NAME_V6 "Lan2Lan_USB_v6"
#define IPA_LAN_TO_LAN_WLAN_HDR_NAME_V4 "Lan2Lan_Wlan_v4"
#define IPA_LAN_TO_LAN_WLAN_HDR_NAME_V6 "Lan2Lan_Wlan_v6"
#define IPA_LAN_TO_LAN_MAX_WLAN_CLIENT 16
#define IPA_LAN_TO_LAN_MAX_USB_CLIENT 1
#define IPA_LAN_TO_LAN_MAX_CPE_CLIENT 15
#define IPA_LAN_TO_LAN_MAX_LAN_CLIENT (IPA_LAN_TO_LAN_MAX_USB_CLIENT + IPA_LAN_TO_LAN_MAX_CPE_CLIENT)
#define IPA_LAN_TO_LAN_MAX_CLIENT (IPA_LAN_TO_LAN_MAX_LAN_CLIENT + IPA_LAN_TO_LAN_MAX_WLAN_CLIENT)
#define TCP_FIN_SHIFT 16
#define TCP_SYN_SHIFT 17
#define TCP_RST_SHIFT 18
#define NUM_TCP_CTL_FLT_RULE 3
#define NUM_IPV6_PREFIX_FLT_RULE 1

/*---------------------------------------------------------------------------
Expand All @@ -122,7 +137,7 @@ extern "C"
===========================================================================*/
typedef enum
{
IPA_CFG_CHANGE_EVENT, /* NULL */
IPA_CFG_CHANGE_EVENT = 1, /* NULL */
IPA_PRIVATE_SUBNET_CHANGE_EVENT, /* ipacm_event_data_fid */
IPA_FIREWALL_CHANGE_EVENT, /* NULL */
IPA_LINK_UP_EVENT, /* ipacm_event_data_fid */
Expand Down Expand Up @@ -161,7 +176,7 @@ typedef enum
IPA_TETHERING_STATS_UPDATE_EVENT, /* ipacm_event_data_fid */
IPA_NETWORK_STATS_UPDATE_EVENT, /* ipacm_event_data_fid */

IPA_EXTERNAL_EVENT_MAX,
IPA_EXTERNAL_EVENT_MAX = 500,

IPA_HANDLE_WAN_UP, /* ipacm_event_iface_up */
IPA_HANDLE_WAN_DOWN, /* ipacm_event_iface_up */
Expand All @@ -173,12 +188,16 @@ typedef enum
IPA_HANDLE_WAN_DOWN_V6_TETHER, /* ipacm_event_iface_up_tehter */
IPA_HANDLE_WLAN_UP, /* ipacm_event_iface_up */
IPA_HANDLE_LAN_UP, /* ipacm_event_iface_up */
IPA_ETH_BRIDGE_IFACE_UP, /* ipacm_event_eth_bridge*/
IPA_ETH_BRIDGE_IFACE_DOWN, /* ipacm_event_eth_bridge*/
IPA_ETH_BRIDGE_CLIENT_ADD, /* ipacm_event_eth_bridge */
IPA_ETH_BRIDGE_CLIENT_DEL, /* ipacm_event_eth_bridge*/
IPA_ETH_BRIDGE_WLAN_SCC_MCC_SWITCH, /* ipacm_event_eth_bridge*/
IPA_LAN_CLIENT_ACTIVE, /* ipacm_event_lan_client*/
IPA_LAN_CLIENT_INACTIVE, /* ipacm_event_lan_client*/
IPA_LAN_CLIENT_DISCONNECT, /* ipacm_event_lan_client*/
IPA_LAN_CLIENT_POWER_SAVE, /* ipacm_event_lan_client*/
IPA_LAN_CLIENT_POWER_RECOVER, /* ipacm_event_lan_client*/
IPA_LAN_DELETE_SELF, /* ipacm_event_data_fid */
IPA_ETH_BRIDGE_CLIENT_ADD_EVENT, /* ipacm_event_data_mac */
IPA_ETH_BRIDGE_CLIENT_DEL_EVENT, /* ipacm_event_data_mac */
IPA_ETH_BRIDGE_HDR_PROC_CTX_SET_EVENT, /* ipacm_event_data_if_cat */
IPA_ETH_BRIDGE_HDR_PROC_CTX_UNSET_EVENT, /* ipacm_event_data_if_cat */
IPACM_EVENT_MAX
} ipa_cm_event_id;

Expand Down Expand Up @@ -252,10 +271,12 @@ typedef struct

typedef struct
{
IPACM_Lan *p_iface;
ipa_ip_type iptype;
enum ipa_ip_type iptype;
uint32_t ipv4_addr;
uint32_t ipv6_addr[4];
uint8_t mac_addr[6];
} ipacm_event_eth_bridge;
IPACM_Lan* p_iface;
} ipacm_event_lan_client;

typedef struct
{
Expand Down
6 changes: 6 additions & 0 deletions data-ipa-cfg-mgr/ipacm/inc/IPACM_Iface.h
Expand Up @@ -126,6 +126,12 @@ class IPACM_Iface :public IPACM_Listener
/*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);

Expand Down

0 comments on commit af5b79d

Please sign in to comment.