drivers: net: xgene: fix: RSS for non-TCP/UDP
This patch fixes RSS feature, for non-TCP/UDP packets. Signed-off-by: Khuong Dinh <kdinh@apm.com> Signed-off-by: Iyappan Subramanian <isubramanian@apm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
350b4e33b8
Коммит
a809701fed
|
@ -485,11 +485,11 @@ static int xgene_enet_cle_init(struct xgene_enet_pdata *pdata)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
.valid = 0,
|
.valid = 0,
|
||||||
.next_packet_pointer = 260,
|
.next_packet_pointer = 26,
|
||||||
.jump_bw = JMP_FW,
|
.jump_bw = JMP_FW,
|
||||||
.jump_rel = JMP_ABS,
|
.jump_rel = JMP_ABS,
|
||||||
.operation = EQT,
|
.operation = EQT,
|
||||||
.next_node = LAST_NODE,
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
.next_branch = 0,
|
.next_branch = 0,
|
||||||
.data = 0x0,
|
.data = 0x0,
|
||||||
.mask = 0xffff
|
.mask = 0xffff
|
||||||
|
@ -666,6 +666,92 @@ static int xgene_enet_cle_init(struct xgene_enet_pdata *pdata)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
/* RSS_IPV4_OTHERS_NODE */
|
||||||
|
.node_type = EWDN,
|
||||||
|
.last_node = 0,
|
||||||
|
.hdr_len_store = 1,
|
||||||
|
.hdr_extn = NO_BYTE,
|
||||||
|
.byte_store = NO_BYTE,
|
||||||
|
.search_byte_store = BOTH_BYTES,
|
||||||
|
.result_pointer = DB_RES_DROP,
|
||||||
|
.num_branches = 6,
|
||||||
|
.branch = {
|
||||||
|
{
|
||||||
|
/* SRC IPV4 B01 */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 28,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
|
.next_branch = 1,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* SRC IPV4 B23 */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 30,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
|
.next_branch = 2,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* DST IPV4 B01 */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 32,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
|
.next_branch = 3,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* DST IPV4 B23 */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 34,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
|
.next_branch = 4,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* TCP SRC Port */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 36,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = RSS_IPV4_OTHERS_NODE,
|
||||||
|
.next_branch = 5,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* TCP DST Port */
|
||||||
|
.valid = 0,
|
||||||
|
.next_packet_pointer = 260,
|
||||||
|
.jump_bw = JMP_FW,
|
||||||
|
.jump_rel = JMP_ABS,
|
||||||
|
.operation = EQT,
|
||||||
|
.next_node = LAST_NODE,
|
||||||
|
.next_branch = 0,
|
||||||
|
.data = 0x0,
|
||||||
|
.mask = 0xffff
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
/* LAST NODE */
|
/* LAST NODE */
|
||||||
.node_type = EWDN,
|
.node_type = EWDN,
|
||||||
|
|
|
@ -106,6 +106,7 @@ enum xgene_cle_ptree_nodes {
|
||||||
PKT_PROT_NODE,
|
PKT_PROT_NODE,
|
||||||
RSS_IPV4_TCP_NODE,
|
RSS_IPV4_TCP_NODE,
|
||||||
RSS_IPV4_UDP_NODE,
|
RSS_IPV4_UDP_NODE,
|
||||||
|
RSS_IPV4_OTHERS_NODE,
|
||||||
LAST_NODE,
|
LAST_NODE,
|
||||||
MAX_NODES
|
MAX_NODES
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче