diff --git a/dp/inc/cdp_txrx_me.h b/dp/inc/cdp_txrx_me.h index 2e40067e6f..0851420562 100644 --- a/dp/inc/cdp_txrx_me.h +++ b/dp/inc/cdp_txrx_me.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -140,6 +140,25 @@ cdp_tx_me_convert_ucast(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, (vdev, wbuf, newmac, newmaccnt); } +static inline uint16_t +cdp_tx_me_find_ast_entry(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, + uint8_t *da_mac_addr, uint8_t *ra_mac_addr) +{ + if (!soc || !soc->ops) { + QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG, + "%s: Invalid Instance", __func__); + QDF_BUG(0); + return 0; + } + + if (!soc->ops->me_ops || + !soc->ops->me_ops->tx_me_find_ast_entry) + return 0; + + return soc->ops->me_ops->tx_me_find_ast_entry(vdev, da_mac_addr, + ra_mac_addr); +} + /* Should be a function pointer in ol_txrx_osif_ops{} */ /** * @brief notify mcast frame indication from FW. diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 479b2bf7a2..68d9cc26d3 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -590,6 +590,10 @@ struct cdp_me_ops { int (*mcast_notify)(struct cdp_pdev *pdev, u_int8_t vdev_id, qdf_nbuf_t msdu); + + uint16_t (*tx_me_find_ast_entry)(struct cdp_vdev *vdev, + uint8_t *da_mac_addr, + uint8_t *ra_mac_addr); }; struct cdp_mon_ops { diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index a4625d02df..af5bee5e24 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -8335,6 +8335,7 @@ static struct cdp_me_ops dp_ops_me = { .tx_me_free_descriptor = dp_tx_me_free_descriptor, .tx_me_convert_ucast = dp_tx_me_send_convert_ucast, #endif + .tx_me_find_ast_entry = NULL, }; static struct cdp_mon_ops dp_ops_mon = {