Lines Matching refs:fkeys
5635 #define BNXT_IPV4_4TUPLE(bp, fkeys) \
5636 (((fkeys)->basic.ip_proto == IPPROTO_TCP && \
5638 ((fkeys)->basic.ip_proto == IPPROTO_UDP && \
5641 #define BNXT_IPV6_4TUPLE(bp, fkeys) \
5642 (((fkeys)->basic.ip_proto == IPPROTO_TCP && \
5644 ((fkeys)->basic.ip_proto == IPPROTO_UDP && \
5647 static u32 bnxt_get_rss_flow_tuple_len(struct bnxt *bp, struct flow_keys *fkeys)
5649 if (fkeys->basic.n_proto == htons(ETH_P_IP)) {
5650 if (BNXT_IPV4_4TUPLE(bp, fkeys))
5651 return sizeof(fkeys->addrs.v4addrs) +
5652 sizeof(fkeys->ports);
5655 return sizeof(fkeys->addrs.v4addrs);
5658 if (fkeys->basic.n_proto == htons(ETH_P_IPV6)) {
5659 if (BNXT_IPV6_4TUPLE(bp, fkeys))
5660 return sizeof(fkeys->addrs.v6addrs) +
5661 sizeof(fkeys->ports);
5664 return sizeof(fkeys->addrs.v6addrs);
5670 static u32 bnxt_toeplitz(struct bnxt *bp, struct flow_keys *fkeys,
5679 len = bnxt_get_rss_flow_tuple_len(bp, fkeys);
5683 if (fkeys->basic.n_proto == htons(ETH_P_IP)) {
5684 tuple4.v4addrs = fkeys->addrs.v4addrs;
5685 tuple4.ports = fkeys->ports;
5688 tuple6.v6addrs = fkeys->addrs.v6addrs;
5689 tuple6.ports = fkeys->ports;
5986 struct flow_keys *keys = &fltr->fkeys;
14594 u32 bnxt_get_ntp_filter_idx(struct bnxt *bp, struct flow_keys *fkeys,
14603 return bnxt_toeplitz(bp, fkeys, (void *)vnic->rss_hash_key);
14636 struct flow_keys *keys1 = &f1->fkeys;
14637 struct flow_keys *keys2 = &f2->fkeys;
14690 struct flow_keys *fkeys;
14718 fkeys = &new_fltr->fkeys;
14719 if (!skb_flow_dissect_flow_keys(skb, fkeys, 0)) {
14724 if ((fkeys->basic.n_proto != htons(ETH_P_IP) &&
14725 fkeys->basic.n_proto != htons(ETH_P_IPV6)) ||
14726 ((fkeys->basic.ip_proto != IPPROTO_TCP) &&
14727 (fkeys->basic.ip_proto != IPPROTO_UDP))) {
14732 if (fkeys->basic.n_proto == htons(ETH_P_IPV6)) {
14739 flags = fkeys->control.flags;
14747 idx = bnxt_get_ntp_filter_idx(bp, fkeys, skb);