twx-linux/include/linux/mlx4
Jack Morgenstein 5ea8bbfc49 mlx4: Implement IP based gids support for RoCE/SRIOV
Since there is no connection between the MAC/VLAN and the GID
when using IP-based addressing, the proxy QP1 (running on the
slave) must pass the source-mac, destination-mac, and vlan_id
information separately from the GID. Additionally, the Host
must pass the remote source-mac and vlan_id back to the slave,

This is achieved as follows:
Outgoing MADs:
    1. Source MAC: obtained from the CQ completion structure
       (struct ib_wc, smac field).
    2. Destination MAC: obtained from the tunnel header
    3. vlan_id: obtained from the tunnel header.
Incoming MADs
    1. The source (i.e., remote) MAC and vlan_id are passed in
       the tunnel header to the proxy QP1.

VST mode support:
     For outgoing MADs,  the vlan_id obtained from the header is
        discarded, and the vlan_id specified by the Hypervisor is used
        instead.
     For incoming MADs, the incoming vlan_id (in the wc) is discarded, and the
        "invalid" vlan (0xffff)  is substituted when forwarding to the slave.

Signed-off-by: Moni Shoua <monis@mellanox.co.il>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-12 15:57:16 -04:00
..
cmd.h mlx4: Implement IP based gids support for RoCE/SRIOV 2014-03-12 15:57:16 -04:00
cq.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-01-25 11:17:34 -08:00
device.h mlx4: Implement IP based gids support for RoCE/SRIOV 2014-03-12 15:57:16 -04:00
doorbell.h
driver.h net/mlx4: Replace mlx4_en_mac_to_u64() with mlx4_mac_to_u64() 2014-03-02 20:04:01 -05:00
qp.h net/mlx4_en: Use union for BlueFlame WQE 2014-03-02 20:04:01 -05:00
srq.h mlx4_core: Implement SRQ object lookup from srqn 2013-04-16 22:42:55 -07:00