summaryrefslogtreecommitdiff
path: root/ipacm
diff options
context:
space:
mode:
authorMohammed Javid <mjavid@codeaurora.org>2017-10-17 04:37:58 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-10-18 19:31:32 -0700
commit5b801e1edf7e8788d788f7edf0d2656403b9ea44 (patch)
tree9dd1a28ceb1a4da8604307b3d2f31aa955227662 /ipacm
parentbbd4160b5cda1b41fa641547ddd616b794e38ffd (diff)
downloadipacfg-mgr-5b801e1edf7e8788d788f7edf0d2656403b9ea44.tar.gz
ipacm: Disable L2TP Feature support in Android-O
Remove L2TP feature support as this feature is not required in Android-O Change-Id: Ib1caaefd1aa263c63f328ee6833083144549b373 Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com> Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Diffstat (limited to 'ipacm')
-rw-r--r--ipacm/inc/IPACM_Defs.h2
-rw-r--r--ipacm/inc/IPACM_Lan.h5
-rw-r--r--ipacm/inc/IPACM_LanToLan.h8
-rw-r--r--ipacm/src/IPACM_Config.cpp2
-rw-r--r--ipacm/src/IPACM_Lan.cpp51
-rw-r--r--ipacm/src/IPACM_LanToLan.cpp53
-rw-r--r--ipacm/src/IPACM_Main.cpp4
7 files changed, 90 insertions, 35 deletions
diff --git a/ipacm/inc/IPACM_Defs.h b/ipacm/inc/IPACM_Defs.h
index 39c7298..266e69f 100644
--- a/ipacm/inc/IPACM_Defs.h
+++ b/ipacm/inc/IPACM_Defs.h
@@ -189,12 +189,14 @@ typedef enum
IPA_LAN_DELETE_SELF, /* ipacm_event_data_fid */
IPA_DOWNSTREAM_ADD, /* ipacm_event_ipahal_stream */
IPA_DOWNSTREAM_DEL, /* ipacm_event_ipahal_stream */
+#ifdef FEATURE_L2TP
IPA_ADD_VLAN_IFACE, /* ipa_ioc_vlan_iface_info */
IPA_DEL_VLAN_IFACE, /* ipa_ioc_vlan_iface_info */
IPA_ADD_L2TP_VLAN_MAPPING, /* ipa_ioc_l2tp_vlan_mapping_info */
IPA_DEL_L2TP_VLAN_MAPPING, /* ipa_ioc_l2tp_vlan_mapping_info */
IPA_HANDLE_VLAN_CLIENT_INFO, /* ipacm_event_data_all */
IPA_HANDLE_VLAN_IFACE_INFO, /* ipacm_event_data_all */
+#endif
IPACM_EVENT_MAX
} ipa_cm_event_id;
diff --git a/ipacm/inc/IPACM_Lan.h b/ipacm/inc/IPACM_Lan.h
index cb63e34..2146689 100644
--- a/ipacm/inc/IPACM_Lan.h
+++ b/ipacm/inc/IPACM_Lan.h
@@ -169,6 +169,7 @@ public:
/* delete header processing context */
int eth_bridge_del_hdr_proc_ctx(uint32_t hdr_proc_ctx_hdl);
+#ifdef FEATURE_L2TP
/* add l2tp rt rule for l2tp client */
int add_l2tp_rt_rule(ipa_ip_type iptype, uint8_t *dst_mac, ipa_hdr_l2_type peer_l2_hdr_type,
uint32_t l2tp_session_id, uint32_t vlan_id, uint8_t *vlan_client_mac, uint32_t *vlan_iface_ipv6_addr,
@@ -198,6 +199,7 @@ public:
/* delete l2tp flt rule on non l2tp interface */
int del_l2tp_flt_rule(ipa_ip_type iptype, uint32_t first_pass_flt_rule_hdl, uint32_t second_pass_flt_rule_hdl);
+#endif
protected:
@@ -209,15 +211,16 @@ protected:
void eth_bridge_post_event(ipa_cm_event_id evt, ipa_ip_type iptype, uint8_t *mac,
uint32_t *ipv6_addr, char *iface_name);
+#ifdef FEATURE_L2TP
/* check if the event is associated with vlan interface */
bool is_vlan_event(char *event_iface_name);
-
/* check if the event is associated with l2tp interface */
bool is_l2tp_event(char *event_iface_name);
/* check if the IPv6 address is unique local address */
bool is_unique_local_ipv6_addr(uint32_t *ipv6_addr);
+#endif
virtual int add_dummy_private_subnet_flt_rule(ipa_ip_type iptype);
int handle_private_subnet_android(ipa_ip_type iptype);
diff --git a/ipacm/inc/IPACM_LanToLan.h b/ipacm/inc/IPACM_LanToLan.h
index b055cdd..e517e97 100644
--- a/ipacm/inc/IPACM_LanToLan.h
+++ b/ipacm/inc/IPACM_LanToLan.h
@@ -160,7 +160,7 @@ public:
void increment_ref_cnt_peer_l2_hdr_type(ipa_hdr_l2_type peer_l2_type);
void decrement_ref_cnt_peer_l2_hdr_type(ipa_hdr_l2_type peer_l2_type);
-
+#ifdef FEATURE_L2TP
void switch_to_l2tp_iface();
bool set_l2tp_iface(char *vlan_iface_name);
@@ -170,7 +170,7 @@ public:
void handle_l2tp_enable();
void handle_l2tp_disable();
-
+#endif
private:
IPACM_Lan *m_p_iface;
@@ -223,7 +223,9 @@ public:
static IPACM_LanToLan* p_instance;
static IPACM_LanToLan* get_instance();
+#ifdef FEATURE_L2TP
bool has_l2tp_iface();
+#endif
private:
@@ -251,6 +253,7 @@ private:
void handle_wlan_scc_mcc_switch(ipacm_event_eth_bridge *data);
+#ifdef FEATURE_L2TP
void handle_add_vlan_iface(ipa_ioc_vlan_iface_info *data);
void handle_del_vlan_iface(ipa_ioc_vlan_iface_info *data);
@@ -262,6 +265,7 @@ private:
void handle_vlan_client_info(ipacm_event_data_all *data);
void handle_vlan_iface_info(ipacm_event_data_all *data);
+#endif
void handle_new_iface_up(IPACM_LanToLan_Iface *new_iface, IPACM_LanToLan_Iface *exist_iface);
diff --git a/ipacm/src/IPACM_Config.cpp b/ipacm/src/IPACM_Config.cpp
index 64534ee..d3fa58d 100644
--- a/ipacm/src/IPACM_Config.cpp
+++ b/ipacm/src/IPACM_Config.cpp
@@ -107,12 +107,14 @@ const char *ipacm_event_name[] = {
__stringify(IPA_ETH_BRIDGE_CLIENT_DEL), /* ipacm_event_eth_bridge*/
__stringify(IPA_ETH_BRIDGE_WLAN_SCC_MCC_SWITCH), /* ipacm_event_eth_bridge*/
__stringify(IPA_LAN_DELETE_SELF), /* ipacm_event_data_fid */
+#ifdef FEATURE_L2TP
__stringify(IPA_ADD_VLAN_IFACE), /* ipa_ioc_vlan_iface_info */
__stringify(IPA_DEL_VLAN_IFACE), /* ipa_ioc_vlan_iface_info */
__stringify(IPA_ADD_L2TP_VLAN_MAPPING), /* ipa_ioc_l2tp_vlan_mapping_info */
__stringify(IPA_DEL_L2TP_VLAN_MAPPING), /* ipa_ioc_l2tp_vlan_mapping_info */
__stringify(IPA_VLAN_CLIENT_INFO), /* ipacm_event_data_all */
__stringify(IPA_VLAN_IFACE_INFO), /* ipacm_event_data_all */
+#endif
__stringify(IPACM_EVENT_MAX),
};
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index e5ff98a..1da02c2 100644
--- a/ipacm/src/IPACM_Lan.cpp
+++ b/ipacm/src/IPACM_Lan.cpp
@@ -871,8 +871,12 @@ void IPACM_Lan::event_callback(ipa_cm_event_id event, void *param)
}
}
- if (ipa_interface_index == ipa_if_num || is_vlan_event(data->iface_name)
- || (is_l2tp_event(data->iface_name) && ipa_if_cate == ODU_IF))
+ if (ipa_interface_index == ipa_if_num
+#ifdef FEATURE_L2TP
+ || is_vlan_event(data->iface_name)
+ || (is_l2tp_event(data->iface_name) && ipa_if_cate == ODU_IF)
+#endif
+ )
{
IPACMDBG_H("ETH iface got client \n");
if(ipa_interface_index == ipa_if_num)
@@ -931,7 +935,10 @@ void IPACM_Lan::event_callback(ipa_cm_event_id event, void *param)
}
if (ipa_interface_index == ipa_if_num
- || (is_l2tp_event(data->iface_name) && ipa_if_cate == ODU_IF))
+#ifdef FEATURE_L2TP
+ || (is_l2tp_event(data->iface_name) && ipa_if_cate == ODU_IF)
+#endif
+ )
{
if(ipa_interface_index == ipa_if_num)
{
@@ -2171,7 +2178,7 @@ int IPACM_Lan::handle_eth_client_route_rule(uint8_t *mac_addr, ipa_ip_type iptyp
continue;
}
- rt_rule_entry = &rt_rule->rules[0];
+ rt_rule_entry = &rt_rule->rules[0];
rt_rule_entry->at_rear = 0;
if (iptype == IPA_IP_v4)
@@ -2197,20 +2204,19 @@ int IPACM_Lan::handle_eth_client_route_rule(uint8_t *mac_addr, ipa_ip_type iptyp
#ifdef FEATURE_IPA_V3
rt_rule_entry->rule.hashable = false;
#endif
- if (false == m_routing.AddRoutingRule(rt_rule))
- {
- IPACMERR("Routing rule addition failed!\n");
- free(rt_rule);
- return IPACM_FAILURE;
- }
+ if (false == m_routing.AddRoutingRule(rt_rule))
+ {
+ IPACMERR("Routing rule addition failed!\n");
+ free(rt_rule);
+ return IPACM_FAILURE;
+ }
/* copy ipv4 RT hdl */
get_client_memptr(eth_client, eth_index)->eth_rt_hdl[tx_index].eth_rt_rule_hdl_v4 =
rt_rule->rules[0].rt_rule_hdl;
IPACMDBG_H("tx:%d, rt rule hdl=%x ip-type: %d\n", tx_index,
get_client_memptr(eth_client, eth_index)->eth_rt_hdl[tx_index].eth_rt_rule_hdl_v4, iptype);
-
- } else {
+ } else {
for(v6_num = get_client_memptr(eth_client, eth_index)->route_rule_set_v6;v6_num < get_client_memptr(eth_client, eth_index)->ipv6_set;v6_num++)
{
@@ -2239,12 +2245,12 @@ int IPACM_Lan::handle_eth_client_route_rule(uint8_t *mac_addr, ipa_ip_type iptyp
#ifdef FEATURE_IPA_V3
rt_rule_entry->rule.hashable = true;
#endif
- if (false == m_routing.AddRoutingRule(rt_rule))
- {
- IPACMERR("Routing rule addition failed!\n");
- free(rt_rule);
- return IPACM_FAILURE;
- }
+ if (false == m_routing.AddRoutingRule(rt_rule))
+ {
+ IPACMERR("Routing rule addition failed!\n");
+ free(rt_rule);
+ return IPACM_FAILURE;
+ }
get_client_memptr(eth_client, eth_index)->eth_rt_hdl[tx_index].eth_rt_rule_hdl_v6[v6_num] = rt_rule->rules[0].rt_rule_hdl;
IPACMDBG_H("tx:%d, rt rule hdl=%x ip-type: %d\n", tx_index,
@@ -2284,7 +2290,7 @@ int IPACM_Lan::handle_eth_client_route_rule(uint8_t *mac_addr, ipa_ip_type iptyp
}
}
- } /* end of for loop */
+ } /* end of for loop */
free(rt_rule);
@@ -2651,7 +2657,7 @@ int IPACM_Lan::handle_eth_client_down_evt(uint8_t *mac_addr)
{
IPACMDBG_H("Clean Nat Rules for ipv4:0x%x\n", get_client_memptr(eth_client, clt_indx)->v4_addr);
CtList->HandleNeighIpAddrDelEvt(get_client_memptr(eth_client, clt_indx)->v4_addr);
- }
+ }
if (delete_eth_rtrules(clt_indx, IPA_IP_v4))
{
@@ -4327,6 +4333,7 @@ void IPACM_Lan::eth_bridge_post_event(ipa_cm_event_id evt, ipa_ip_type iptype, u
memset(&eth_bridge_evt, 0, sizeof(ipacm_cmd_q_data));
eth_bridge_evt.event = evt;
+#ifdef FEATURE_L2TP
if(evt == IPA_HANDLE_VLAN_CLIENT_INFO || evt == IPA_HANDLE_VLAN_IFACE_INFO)
{
evt_data_all = (ipacm_event_data_all*)malloc(sizeof(*evt_data_all));
@@ -4357,6 +4364,7 @@ void IPACM_Lan::eth_bridge_post_event(ipa_cm_event_id evt, ipa_ip_type iptype, u
eth_bridge_evt.evt_data = (void*)evt_data_all;
}
else
+#endif
{
evt_data_eth_bridge = (ipacm_event_eth_bridge*)malloc(sizeof(*evt_data_eth_bridge));
if(evt_data_eth_bridge == NULL)
@@ -4382,7 +4390,6 @@ void IPACM_Lan::eth_bridge_post_event(ipa_cm_event_id evt, ipa_ip_type iptype, u
}
eth_bridge_evt.evt_data = (void*)evt_data_eth_bridge;
}
-
IPACMDBG_H("Posting event %s\n",
IPACM_Iface::ipacmcfg->getEventName(evt));
IPACM_EvtDispatcher::PostEvt(&eth_bridge_evt);
@@ -4726,6 +4733,7 @@ int IPACM_Lan::eth_bridge_del_hdr_proc_ctx(uint32_t hdr_proc_ctx_hdl)
return IPACM_SUCCESS;
}
+#ifdef FEATURE_L2TP
/* check if the event is associated with vlan interface */
bool IPACM_Lan::is_vlan_event(char *event_iface_name)
{
@@ -5545,6 +5553,7 @@ bool IPACM_Lan::is_unique_local_ipv6_addr(uint32_t* ipv6_addr)
}
return false;
}
+#endif
/* add tcp syn flt rule */
int IPACM_Lan::add_tcp_syn_flt_rule(ipa_ip_type iptype)
diff --git a/ipacm/src/IPACM_LanToLan.cpp b/ipacm/src/IPACM_LanToLan.cpp
index c3369e7..2902268 100644
--- a/ipacm/src/IPACM_LanToLan.cpp
+++ b/ipacm/src/IPACM_LanToLan.cpp
@@ -94,15 +94,15 @@ IPACM_LanToLan::IPACM_LanToLan()
IPACM_EvtDispatcher::registr(IPA_ETH_BRIDGE_CLIENT_ADD, this);
IPACM_EvtDispatcher::registr(IPA_ETH_BRIDGE_CLIENT_DEL, this);
IPACM_EvtDispatcher::registr(IPA_ETH_BRIDGE_WLAN_SCC_MCC_SWITCH, this);
+#ifdef FEATURE_L2TP
IPACM_EvtDispatcher::registr(IPA_ADD_VLAN_IFACE, this);
IPACM_EvtDispatcher::registr(IPA_DEL_VLAN_IFACE, this);
IPACM_EvtDispatcher::registr(IPA_ADD_L2TP_VLAN_MAPPING, this);
IPACM_EvtDispatcher::registr(IPA_DEL_L2TP_VLAN_MAPPING, this);
IPACM_EvtDispatcher::registr(IPA_HANDLE_VLAN_CLIENT_INFO, this);
IPACM_EvtDispatcher::registr(IPA_HANDLE_VLAN_IFACE_INFO, this);
-
+#endif
m_has_l2tp_iface = false;
-
return;
}
@@ -122,6 +122,7 @@ IPACM_LanToLan* IPACM_LanToLan::get_instance()
return p_instance;
}
+#ifdef FEATURE_L2TP
bool IPACM_LanToLan::has_l2tp_iface()
{
list<IPACM_LanToLan_Iface>::iterator it;
@@ -137,12 +138,16 @@ bool IPACM_LanToLan::has_l2tp_iface()
}
return has_l2tp_iface;
}
+#endif
void IPACM_LanToLan::event_callback(ipa_cm_event_id event, void* param)
{
ipacm_event_eth_bridge *eth_bridge_data;
ipa_ioc_vlan_iface_info *vlan_iface_data;
+
+#ifdef FEATURE_L2TP
ipa_ioc_l2tp_vlan_mapping_info *l2tp_vlan_mapping_data;
+#endif
ipacm_event_data_all *vlan_data;
IPACMDBG_H("Get %s event.\n", IPACM_Iface::ipacmcfg->getEventName(event));
@@ -184,6 +189,7 @@ void IPACM_LanToLan::event_callback(ipa_cm_event_id event, void* param)
break;
}
+#ifdef FEATURE_L2TP
case IPA_ADD_VLAN_IFACE:
{
vlan_iface_data = (ipa_ioc_vlan_iface_info*)param;
@@ -197,14 +203,12 @@ void IPACM_LanToLan::event_callback(ipa_cm_event_id event, void* param)
handle_del_vlan_iface(vlan_iface_data);
break;
}
-
case IPA_ADD_L2TP_VLAN_MAPPING:
{
l2tp_vlan_mapping_data = (ipa_ioc_l2tp_vlan_mapping_info*)param;
handle_add_l2tp_vlan_mapping(l2tp_vlan_mapping_data);
break;
}
-
case IPA_DEL_L2TP_VLAN_MAPPING:
{
l2tp_vlan_mapping_data = (ipa_ioc_l2tp_vlan_mapping_info*)param;
@@ -223,6 +227,7 @@ void IPACM_LanToLan::event_callback(ipa_cm_event_id event, void* param)
handle_vlan_iface_info(vlan_data);
break;
}
+#endif
default:
break;
}
@@ -377,7 +382,6 @@ void IPACM_LanToLan::handle_iface_down(ipacm_event_eth_bridge *data)
break;
}
}
-
if(m_has_l2tp_iface == true && has_l2tp_iface == false)
{
IPACMDBG_H("There is no l2tp iface now, delete rt rules for l2tp iface.\n");
@@ -525,6 +529,7 @@ void IPACM_LanToLan::handle_wlan_scc_mcc_switch(ipacm_event_eth_bridge *data)
return;
}
+#ifdef FEATURE_L2TP
void IPACM_LanToLan::handle_add_vlan_iface(ipa_ioc_vlan_iface_info *data)
{
list<vlan_iface_info>::iterator it_vlan;
@@ -588,7 +593,6 @@ void IPACM_LanToLan::handle_del_vlan_iface(ipa_ioc_vlan_iface_info *data)
}
return;
}
-
void IPACM_LanToLan::handle_add_l2tp_vlan_mapping(ipa_ioc_l2tp_vlan_mapping_info *data)
{
list<l2tp_vlan_mapping_info>::iterator it_mapping;
@@ -686,7 +690,6 @@ void IPACM_LanToLan::handle_del_l2tp_vlan_mapping(ipa_ioc_l2tp_vlan_mapping_info
}
return;
}
-
void IPACM_LanToLan::handle_vlan_client_info(ipacm_event_data_all *data)
{
list<l2tp_vlan_mapping_info>::iterator it_mapping;
@@ -763,6 +766,7 @@ void IPACM_LanToLan::handle_vlan_iface_info(ipacm_event_data_all *data)
}
return;
}
+#endif
void IPACM_LanToLan::handle_cached_client_add_event(IPACM_Lan *p_iface)
{
@@ -817,6 +821,7 @@ void IPACM_LanToLan::print_data_structure_info()
IPACMDBG_H("Is there l2tp interface? %d\n", m_has_l2tp_iface);
+#ifdef FEATURE_L2TP
IPACMDBG_H("There are %d vlan interfaces.\n", m_vlan_iface.size());
for(it_vlan = m_vlan_iface.begin(); it_vlan != m_vlan_iface.end(); it_vlan++)
{
@@ -845,7 +850,7 @@ void IPACM_LanToLan::print_data_structure_info()
IPACMDBG_H("L2tp client mac: 0x%02x%02x%02x%02x%02x%02x\n", it_mapping->l2tp_client_mac[0], it_mapping->l2tp_client_mac[1],
it_mapping->l2tp_client_mac[2], it_mapping->l2tp_client_mac[3], it_mapping->l2tp_client_mac[4], it_mapping->l2tp_client_mac[5]);
}
-
+#endif
IPACMDBG_H("There are %d interfaces in total.\n", m_iface.size());
for(it = m_iface.begin(); it != m_iface.end(); it++)
{
@@ -956,6 +961,7 @@ void IPACM_LanToLan_Iface::add_client_rt_rule(peer_iface_info *peer_info, client
return;
}
+#ifdef FEATURE_L2TP
void IPACM_LanToLan_Iface::add_l2tp_client_rt_rule(peer_iface_info *peer, client_info *client)
{
ipa_hdr_l2_type peer_l2_hdr_type;
@@ -989,6 +995,7 @@ void IPACM_LanToLan_Iface::add_l2tp_client_rt_rule(peer_iface_info *peer, client
}
return;
}
+#endif
void IPACM_LanToLan_Iface::add_all_inter_interface_client_flt_rule(ipa_ip_type iptype)
{
@@ -1072,18 +1079,22 @@ void IPACM_LanToLan_Iface::add_client_flt_rule(peer_iface_info *peer, client_inf
l2tp_second_pass_flt_rule_hdl = it_flt->l2tp_second_pass_flt_rule_hdl;
}
+#ifdef FEATURE_L2TP
if(m_is_l2tp_iface)
{
m_p_iface->add_l2tp_flt_rule(client->mac_addr, &l2tp_first_pass_flt_rule_hdl);
}
else
+#endif
{
+#ifdef FEATURE_L2TP
if(client->is_l2tp_client)
{
m_p_iface->add_l2tp_flt_rule(iptype, client->mac_addr, client->mapping_info->vlan_client_ipv6_addr,
&l2tp_first_pass_flt_rule_hdl, &l2tp_second_pass_flt_rule_hdl);
}
else
+#endif
{
rt_tbl.ip = iptype;
memcpy(rt_tbl.name, peer->rt_tbl_name_for_flt[iptype], sizeof(rt_tbl.name));
@@ -1155,6 +1166,7 @@ void IPACM_LanToLan_Iface::del_client_flt_rule(peer_iface_info *peer, client_inf
}
else
{
+#ifdef FEATURE_L2TP
if(client->is_l2tp_client)
{
m_p_iface->del_l2tp_flt_rule(IPA_IP_v4, it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v4],
@@ -1164,6 +1176,7 @@ void IPACM_LanToLan_Iface::del_client_flt_rule(peer_iface_info *peer, client_inf
it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v4], it_flt->l2tp_second_pass_flt_rule_hdl);
}
else
+#endif
{
m_p_iface->eth_bridge_del_flt_rule(it_flt->flt_rule_hdl[IPA_IP_v4], IPA_IP_v4);
IPACMDBG_H("Deleted IPv4 flt rule %d.\n", it_flt->flt_rule_hdl[IPA_IP_v4]);
@@ -1172,13 +1185,16 @@ void IPACM_LanToLan_Iface::del_client_flt_rule(peer_iface_info *peer, client_inf
}
if(m_is_ip_addr_assigned[IPA_IP_v6])
{
+#ifdef FEATURE_L2TP
if(m_is_l2tp_iface)
{
m_p_iface->del_l2tp_flt_rule(it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6]);
IPACMDBG_H("Deleted IPv6 flt rule %d.\n", it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6]);
}
else
+#endif
{
+#ifdef FEATURE_L2TP
if(client->is_l2tp_client)
{
m_p_iface->del_l2tp_flt_rule(IPA_IP_v6, it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6],
@@ -1187,6 +1203,7 @@ void IPACM_LanToLan_Iface::del_client_flt_rule(peer_iface_info *peer, client_inf
it_flt->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6], it_flt->l2tp_second_pass_flt_rule_hdl);
}
else
+#endif
{
m_p_iface->eth_bridge_del_flt_rule(it_flt->flt_rule_hdl[IPA_IP_v6], IPA_IP_v6);
IPACMDBG_H("Deleted IPv6 flt rule %d.\n", it_flt->flt_rule_hdl[IPA_IP_v6]);
@@ -1228,15 +1245,17 @@ void IPACM_LanToLan_Iface::del_client_rt_rule(peer_iface_info *peer, client_info
IPACMDBG_H("IPv6 rt rule %d is deleted.\n", client->inter_iface_rt_rule_hdl[peer_l2_hdr_type].rule_hdl[IPA_IP_v6][i]);
}
client->inter_iface_rt_rule_hdl[peer_l2_hdr_type].num_hdl[IPA_IP_v6] = 0;
-
+#ifdef FEATURE_L2TP
if(IPACM_LanToLan::get_instance()->has_l2tp_iface() == true)
{
m_p_iface->del_l2tp_rt_rule(IPA_IP_v6, client->l2tp_rt_rule_hdl[peer_l2_hdr_type].num_rt_hdl[IPA_IP_v6],
client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_rt_rule_hdl[IPA_IP_v6]);
}
+#endif
}
else
{
+#ifdef FEATURE_L2TP
m_p_iface->del_l2tp_rt_rule(IPA_IP_v4, client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_hdr_hdl,
client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_hdr_proc_ctx_hdl[IPA_IP_v4], client->l2tp_rt_rule_hdl[peer_l2_hdr_type].second_pass_hdr_hdl,
client->l2tp_rt_rule_hdl[peer_l2_hdr_type].num_rt_hdl[IPA_IP_v4], client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_rt_rule_hdl[IPA_IP_v4],
@@ -1245,6 +1264,7 @@ void IPACM_LanToLan_Iface::del_client_rt_rule(peer_iface_info *peer, client_info
m_p_iface->del_l2tp_rt_rule(IPA_IP_v6, 0, client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_hdr_proc_ctx_hdl[IPA_IP_v6],
0, client->l2tp_rt_rule_hdl[peer_l2_hdr_type].num_rt_hdl[IPA_IP_v6], client->l2tp_rt_rule_hdl[peer_l2_hdr_type].first_pass_rt_rule_hdl[IPA_IP_v6],
NULL);
+#endif
}
}
else
@@ -1348,6 +1368,7 @@ void IPACM_LanToLan_Iface::clear_all_flt_rule_for_one_peer_iface(peer_iface_info
}
else
{
+#ifdef FEATURE_L2TP
if(it->p_client->is_l2tp_client)
{
m_p_iface->del_l2tp_flt_rule(IPA_IP_v4, it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v4],
@@ -1357,6 +1378,7 @@ void IPACM_LanToLan_Iface::clear_all_flt_rule_for_one_peer_iface(peer_iface_info
it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v4], it->l2tp_second_pass_flt_rule_hdl);
}
else
+#endif
{
m_p_iface->eth_bridge_del_flt_rule(it->flt_rule_hdl[IPA_IP_v4], IPA_IP_v4);
IPACMDBG_H("Deleted IPv4 flt rule %d.\n", it->flt_rule_hdl[IPA_IP_v4]);
@@ -1365,13 +1387,16 @@ void IPACM_LanToLan_Iface::clear_all_flt_rule_for_one_peer_iface(peer_iface_info
}
if(m_is_ip_addr_assigned[IPA_IP_v6])
{
+#ifdef FEATURE_L2TP
if(m_is_l2tp_iface)
{
m_p_iface->del_l2tp_flt_rule(it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6]);
IPACMDBG_H("Deleted IPv6 flt rule %d.\n", it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6]);
}
else
+#endif
{
+#ifdef FEATURE_L2TP
if(it->p_client->is_l2tp_client)
{
m_p_iface->del_l2tp_flt_rule(IPA_IP_v6, it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6],
@@ -1380,6 +1405,7 @@ void IPACM_LanToLan_Iface::clear_all_flt_rule_for_one_peer_iface(peer_iface_info
it->l2tp_first_pass_flt_rule_hdl[IPA_IP_v6], it->l2tp_second_pass_flt_rule_hdl);
}
else
+#endif
{
m_p_iface->eth_bridge_del_flt_rule(it->flt_rule_hdl[IPA_IP_v6], IPA_IP_v6);
IPACMDBG_H("Deleted IPv6 flt rule %d.\n", it->flt_rule_hdl[IPA_IP_v6]);
@@ -1403,11 +1429,13 @@ void IPACM_LanToLan_Iface::clear_all_rt_rule_for_one_peer_iface(peer_iface_info
{
del_client_rt_rule(peer, &(*it));
}
+#ifdef FEATURE_L2TP
if(IPACM_LanToLan::get_instance()->has_l2tp_iface() == true)
{
m_p_iface->eth_bridge_del_hdr_proc_ctx(hdr_proc_ctx_for_l2tp);
hdr_proc_ctx_for_l2tp = 0;
}
+#endif
}
return;
@@ -1650,12 +1678,14 @@ void IPACM_LanToLan_Iface::handle_client_del(uint8_t *mac)
{
IPACMDBG_H("Delete client routing rule for peer interface.\n");
del_client_rt_rule(&(*it_peer_info), &(*it_client));
+#ifdef FEATURE_L2TP
if(it_client->is_l2tp_client == false && IPACM_LanToLan::get_instance()->has_l2tp_iface() == true
&& m_client_info.size() == 1)
{
m_p_iface->eth_bridge_del_hdr_proc_ctx(hdr_proc_ctx_for_l2tp);
hdr_proc_ctx_for_l2tp = 0;
}
+#endif
flag[it_peer_info->peer->get_iface_pointer()->tx_prop->tx[0].hdr_l2_type] = true;
}
}
@@ -1772,6 +1802,7 @@ void IPACM_LanToLan_Iface::print_data_structure_info()
IPACMDBG_H("%d\n", it_client->inter_iface_rt_rule_hdl[j].rule_hdl[IPA_IP_v6][k]);
}
+#ifdef FEATURE_L2TP
if(it_client->is_l2tp_client)
{
IPACMDBG_H("Printing l2tp hdr info for l2tp client.\n");
@@ -1819,6 +1850,7 @@ void IPACM_LanToLan_Iface::print_data_structure_info()
}
}
}
+#endif
}
}
}
@@ -1934,6 +1966,7 @@ void IPACM_LanToLan_Iface::decrement_ref_cnt_peer_l2_hdr_type(ipa_hdr_l2_type pe
return;
}
+#ifdef FEATURE_L2TP
bool IPACM_LanToLan_Iface::set_l2tp_iface(char *vlan_iface_name)
{
IPACMDBG_H("Self iface %s, vlan iface %s\n", m_p_iface->dev_name,
@@ -1979,7 +2012,6 @@ void IPACM_LanToLan_Iface::switch_to_l2tp_iface()
}
return;
}
-
void IPACM_LanToLan_Iface::handle_l2tp_enable()
{
int i;
@@ -2049,3 +2081,4 @@ void IPACM_LanToLan_Iface::handle_l2tp_disable()
}
return;
}
+#endif
diff --git a/ipacm/src/IPACM_Main.cpp b/ipacm/src/IPACM_Main.cpp
index 562ff82..a05876f 100644
--- a/ipacm/src/IPACM_Main.cpp
+++ b/ipacm/src/IPACM_Main.cpp
@@ -234,9 +234,11 @@ void* ipa_driver_msg_notifier(void *param)
ipacm_event_data_wlan_ex *data_ex;
ipa_get_data_stats_resp_msg_v01 *data_tethering_stats = NULL;
ipa_get_apn_data_stats_resp_msg_v01 *data_network_stats = NULL;
+
+#ifdef FEATURE_L2TP
ipa_ioc_vlan_iface_info *vlan_info = NULL;
ipa_ioc_l2tp_vlan_mapping_info *mapping = NULL;
-
+#endif
ipacm_cmd_q_data new_neigh_evt;
ipacm_event_data_all* new_neigh_data;