diff options
author | Mohammed Javid <mjavid@codeaurora.org> | 2017-10-17 04:37:58 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-10-18 19:31:32 -0700 |
commit | 5b801e1edf7e8788d788f7edf0d2656403b9ea44 (patch) | |
tree | 9dd1a28ceb1a4da8604307b3d2f31aa955227662 /ipacm | |
parent | bbd4160b5cda1b41fa641547ddd616b794e38ffd (diff) | |
download | ipacfg-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.h | 2 | ||||
-rw-r--r-- | ipacm/inc/IPACM_Lan.h | 5 | ||||
-rw-r--r-- | ipacm/inc/IPACM_LanToLan.h | 8 | ||||
-rw-r--r-- | ipacm/src/IPACM_Config.cpp | 2 | ||||
-rw-r--r-- | ipacm/src/IPACM_Lan.cpp | 51 | ||||
-rw-r--r-- | ipacm/src/IPACM_LanToLan.cpp | 53 | ||||
-rw-r--r-- | ipacm/src/IPACM_Main.cpp | 4 |
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(ð_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(ð_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; |