qcacmn: Add utility functions to set/get flow tag from skb cb

Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack

CRs-Fixed: 2475913
Change-Id: I534a633b99a8b1c4c9aab71fbf5857710d7977a1
此提交包含在:
Sumeet Rao
2019-06-20 12:04:24 -07:00
提交者 nshrivas
父節點 752a0b9c71
當前提交 5664251726
共有 4 個檔案被更改,包括 69 行新增15 行删除

查看文件

@@ -101,10 +101,8 @@ typedef union {
* @rx.dev.priv_cb_w.fctx: ctx to handle special pkts defined by ftype
* @rx.dev.priv_cb_w.msdu_len: length of RX packet
* @rx.dev.priv_cb_w.peer_id: peer_id for RX packet
* @rx.dev.priv_cb_w.protocol_tag: protocol tag set by application for
* received packet type
* @rx.dev.priv_cb_w.reserved1: reserved for flow tag set by application
* for 5 tuples received
* @rx.dev.priv_cb_w.protocol_tag: protocol tag set by app for rcvd packet type
* @rx.dev.priv_cb_w.flow_tag: flow tag set by application for 5 tuples rcvd
*
* @rx.dev.priv_cb_m.tcp_seq_num: TCP sequence number
* @rx.dev.priv_cb_m.tcp_ack_num: TCP ACK number
@@ -212,7 +210,7 @@ struct qdf_nbuf_cb {
uint16_t msdu_len;
uint16_t peer_id;
uint16_t protocol_tag;
uint16_t reserved1;
uint16_t flow_tag;
} priv_cb_w;
struct {
/* ipa_owned bit is common between rx

查看文件

@@ -82,6 +82,16 @@
#define __qdf_nbuf_get_rx_protocol_tag(skb) \
(QDF_NBUF_CB_RX_PROTOCOL_TAG((skb)))
#define QDF_NBUF_CB_RX_FLOW_TAG(skb) \
(((struct qdf_nbuf_cb *) \
((skb)->cb))->u.rx.dev.priv_cb_w.flow_tag)
#define __qdf_nbuf_set_rx_flow_tag(skb, val) \
((QDF_NBUF_CB_RX_FLOW_TAG((skb))) = val)
#define __qdf_nbuf_get_rx_flow_tag(skb) \
(QDF_NBUF_CB_RX_FLOW_TAG((skb)))
/**
* qdf_nbuf_cb_update_peer_local_id() - update peer local id in skb cb
* @skb: skb pointer whose cb is updated with peer local id information