• Matan Barak's avatar
    net/mlx4: Adapt code for N-Port VF · 449fc488
    Matan Barak authored
    Adds support for N-Port VFs, this includes:
    1. Adding support in the wrapped FW command
    	In wrapped commands, we need to verify and convert
    	the slave's port into the real physical port.
    	Furthermore, when sending the response back to the slave,
    	a reverse conversion should be made.
    2. Adjusting sqpn for QP1 para-virtualization
    	The slave assumes that sqpn is used for QP1 communication.
    	If the slave is assigned to a port != (first port), we need
    	to adjust the sqpn that will direct its QP1 packets into the
    	correct endpoint.
    3. Adjusting gid[5] to modify the port for raw ethernet
    	In B0 steering, gid[5] contains the port. It needs
    	to be adjusted into the physical port.
    4. Adjusting number of ports in the query / ports caps in the FW commands
    	When a slave queries the hardware, it needs to view only
    	the physical ports it's assigned to.
    5. Adjusting the sched_qp according to the port number
    	The QP port is encoded in the sched_qp, thus in modify_qp we need
    	to encode the correct port in sched_qp.
    Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    449fc488
fw.c 65.1 KB