fm10k: enable broadcast loopback suppression
authorShaopeng He <shaopeng.he@intel.com>
Thu, 4 Feb 2016 12:43:21 +0000 (20:43 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 17:51:43 +0000 (18:51 +0100)
commit466757e6fc749c546155f4652eb39705fcb24f0f
treec6fe8d2539f9e07c05b2f1083e9a634c7bc6a779
parentbec2f7df9c4509e42c266b164af3ac5998447ffb
fm10k: enable broadcast loopback suppression

In FM10K, a single PCIe port can derive out a few logical ports,
like SRIOV PF/VF devices, VMDQ objects. To better manage them, FM10K
silicon assigns a Unique GLORT ID to each logical port.

When a logical port sends a broadcast packet, the silicon will flood
it to all logical ports, including the one that sent the broadcast packet.
To prevent this, silicon has an rxq register to store the glort id of
the logical port that queue binds to.

FM10K has a switch core inside, which has a loopback suppression
mechanism in the switch level. Switch level loopback suppression mostly
works for the ether port traffic.

This patch assigns a SGLORT for each RX queue, and enables PCIe port
level loopback suppression.

Signed-off-by: Shaopeng He <shaopeng.he@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
drivers/net/fm10k/fm10k_ethdev.c