qca-wifi: Add new feature to support protocol tags.

With this feature, using appropriate commands, link layer, network layer,
transport layer and some of the application protocols can be tagged with
the user provided tag values for easier identification of protocols. The
supported protocols today are as follows.

ARP, DHCPv4, DHCPv6, DNS over TCP (v4), DNS over TCP (v6), DNS over UDP
(v4), DNS over UDP (v6), ICMPv4, ICMPv6, TCPv4, TCPv6, UDPv4,
UDPv6, IPv4, IPv6, EAP.

Receive packets are tagged by hardware. Tags are applied after the first
matching rule. Hence it is recommended that the rules are
programmed in such a way that tags are configured from application layer
to data link layer to get expected results.

Change-Id: Idd47cbab5882cef4530a19c0d96f52f9a47de6d4
This commit is contained in:
Karunakar Dasineni
2019-03-19 22:54:18 -07:00
committed by Gerrit - the friendly Code Review server
parent d2e9132ee0
commit a7ec8895c5
3 changed files with 91 additions and 0 deletions

View File

@@ -1181,3 +1181,24 @@ wmi_unified_vdev_tidmap_prec_cmd_send(void *wmi_hdl,
return QDF_STATUS_E_FAILURE;
}
#ifdef WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG
/**
* wmi_unified_set_rx_pkt_protocol_routing_tag() - api to add/delete the
* protocols to be tagged by CCE
* @wmi_hdl: wmi handle
* @param: Packet routing/tagging info
*
* @return QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE on failure
*/
QDF_STATUS wmi_unified_set_rx_pkt_type_routing_tag(
void *wmi_hdl, struct wmi_rx_pkt_protocol_routing_info *param)
{
wmi_unified_t wmi = (wmi_unified_t)wmi_hdl;
if (wmi->ops->set_rx_pkt_type_routing_tag_cmd)
return wmi->ops->set_rx_pkt_type_routing_tag_cmd(wmi, param);
return QDF_STATUS_E_FAILURE;
}
#endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */