cxgb4: Fix tids count for ipv6 offload connection
the adapter consumes two tids for every ipv6 offload connection be it active or passive, calculate tid usage count accordingly. Also change the signatures of relevant functions to get the address family. Signed-off-by: Rizwan Ansari <rizwana@chelsio.com> Signed-off-by: Varun Prakash <varun@chelsio.com> Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

orang tua
e5c5180a23
melakukan
1dec4cec9f
@@ -806,7 +806,7 @@ static void do_act_establish(struct cxgbi_device *cdev, struct sk_buff *skb)
|
||||
|
||||
cxgbi_sock_get(csk);
|
||||
csk->tid = tid;
|
||||
cxgb4_insert_tid(lldi->tids, csk, tid);
|
||||
cxgb4_insert_tid(lldi->tids, csk, tid, csk->csk_family);
|
||||
cxgbi_sock_set_flag(csk, CTPF_HAS_TID);
|
||||
|
||||
free_atid(csk);
|
||||
@@ -956,7 +956,8 @@ static void do_act_open_rpl(struct cxgbi_device *cdev, struct sk_buff *skb)
|
||||
if (status && status != CPL_ERR_TCAM_FULL &&
|
||||
status != CPL_ERR_CONN_EXIST &&
|
||||
status != CPL_ERR_ARP_MISS)
|
||||
cxgb4_remove_tid(lldi->tids, csk->port_id, GET_TID(rpl));
|
||||
cxgb4_remove_tid(lldi->tids, csk->port_id, GET_TID(rpl),
|
||||
csk->csk_family);
|
||||
|
||||
cxgbi_sock_get(csk);
|
||||
spin_lock_bh(&csk->lock);
|
||||
@@ -1590,7 +1591,8 @@ static void release_offload_resources(struct cxgbi_sock *csk)
|
||||
free_atid(csk);
|
||||
else if (cxgbi_sock_flag(csk, CTPF_HAS_TID)) {
|
||||
lldi = cxgbi_cdev_priv(csk->cdev);
|
||||
cxgb4_remove_tid(lldi->tids, 0, csk->tid);
|
||||
cxgb4_remove_tid(lldi->tids, 0, csk->tid,
|
||||
csk->csk_family);
|
||||
cxgbi_sock_clear_flag(csk, CTPF_HAS_TID);
|
||||
cxgbi_sock_put(csk);
|
||||
}
|
||||
|
Reference in New Issue
Block a user