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
此提交包含在:
@@ -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
|
||||
|
新增問題並參考
封鎖使用者