aboutsummaryrefslogtreecommitdiff
path: root/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h
diff options
context:
space:
mode:
authorDavide Garberi <dade.garberi@gmail.com>2019-01-19 20:33:01 +0100
committerDavide Garberi <dade.garberi@gmail.com>2019-01-26 13:56:25 +0100
commit53a1ffbf112cf677a1fa6168d34d47b39a59aa1b (patch)
tree80c9ff5fc08f59cb4feb2f11bd0f1c1540cab354 /data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h
parent5e5938dad03868d1fc1615f809ec1dda2aaf55ee (diff)
msm8996-common: Use common data-ipa-cfg-mgr
* Located at vendor/qcom/opensource/data-ipa-cfg-mgr Signed-off-by: Davide Garberi <dade.garberi@gmail.com> Change-Id: I6b1f1a034b8e4cafe5ae28a16327cc4e2ec6afa3 Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Diffstat (limited to 'data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h')
-rw-r--r--data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h129
1 files changed, 0 insertions, 129 deletions
diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h
deleted file mode 100644
index 88a411b..0000000
--- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_OffloadManager.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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
- * 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.
- */
-#ifndef _IPACM_OFFLOAD_MANAGER_H_
-#define _IPACM_OFFLOAD_MANAGER_H_
-
-#include <list>
-#include <stdint.h>
-#include <IOffloadManager.h>
-#include "IPACM_Defs.h"
-
-using RET = ::IOffloadManager::RET;
-using Prefix = ::IOffloadManager::Prefix;
-using IP_FAM = ::IOffloadManager::IP_FAM;
-using L4Protocol = ::IOffloadManager::ConntrackTimeoutUpdater::L4Protocol;
-using natTimeoutUpdate_t = ::IOffloadManager::ConntrackTimeoutUpdater::natTimeoutUpdate_t;
-//using ipAddrPortPair_t = ::IOffloadManager::ConntrackTimeoutUpdater::ipAddrPortPair_t;
-//using UDP = ::IOffloadManager::ConntrackTimeoutUpdater::UDP;
-//using TCP = ::IOffloadManager::ConntrackTimeoutUpdater::TCP;
-
-#define MAX_EVENT_CACHE 10
-
-typedef struct _framework_event_cache
-{
- /* IPACM interface name */
- ipa_cm_event_id event;
- char dev_name[IF_NAME_LEN];
- Prefix prefix_cache;
- Prefix prefix_cache_v6; //for setupstream use
- bool valid;
-}framework_event_cache;
-
-class IPACM_OffloadManager : public IOffloadManager
-{
-
-public:
-
- IPACM_OffloadManager();
- static IPACM_OffloadManager* GetInstance();
-
- virtual RET registerEventListener(IpaEventListener* /* listener */);
- virtual RET unregisterEventListener(IpaEventListener* /* listener */);
- virtual RET registerCtTimeoutUpdater(ConntrackTimeoutUpdater* /* cb */);
- virtual RET unregisterCtTimeoutUpdater(ConntrackTimeoutUpdater* /* cb */);
-
- virtual RET provideFd(int /* fd */, unsigned int /* group */);
- virtual RET clearAllFds();
- virtual bool isStaApSupported();
-
- /* ---------------------------- ROUTE ------------------------------- */
- virtual RET setLocalPrefixes(std::vector<Prefix> &/* prefixes */);
- virtual RET addDownstream(const char * /* downstream */,
- const Prefix & /* prefix */);
- virtual RET removeDownstream(const char * /* downstream */,
- const Prefix &/* prefix */);
- virtual RET setUpstream(const char* /* iface */, const Prefix& /* v4Gw */, const Prefix& /* v6Gw */);
- virtual RET stopAllOffload();
-
- /* ------------------------- STATS/POLICY --------------------------- */
- virtual RET setQuota(const char * /* upstream */, uint64_t /* limit */);
- virtual RET getStats(const char * /* upstream */, bool /* reset */,
- OffloadStatistics& /* ret */);
-
- static IPACM_OffloadManager *pInstance; //sky
-
- IpaEventListener *elrInstance;
-
- ConntrackTimeoutUpdater *touInstance;
-
- 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;
-
- bool upstream_v4_up;
-
- bool upstream_v6_up;
-
- int default_gw_index;
-
- int post_route_evt(enum ipa_ip_type iptype, int index, ipa_cm_event_id event, const Prefix &gw_addr);
-
- int ipa_get_if_index(const char *if_name, int *if_index);
-
- 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];
-
- /* latest update cache entry */
- int latest_cache_index;
-
-}; /* IPACM_OffloadManager */
-
-#endif /* _IPACM_OFFLOAD_MANAGER_H_ */