linux/drivers/infiniband/hw/mlx5
Eli Cohen b037c29a80 IB/mlx5: Allow future extension of libmlx5 input data
Current check requests that new fields in struct
mlx5_ib_alloc_ucontext_req_v2 that are not known to the driver be zero.
This was introduced so new libraries passing additional information to
the kernel through struct mlx5_ib_alloc_ucontext_req_v2 will be notified
by old kernels that do not support their request by failing the
operation. This schecme is problematic since it requires libmlx5 to issue
the requests with descending input size for struct
mlx5_ib_alloc_ucontext_req_v2.

To avoid this, we require that new features that will obey the following
rules:
If the feature requires one or more fields in the response and the at
least one of the fields can be encoded such that a zero value means the
kernel ignored the request then this field will provide the indication
to the library. If no response is required or if zero is a valid
response, a new field should be added that indicates to the library
whether its request was processed.

Fixes: b368d7cb8c ('IB/mlx5: Add hca_core_clock_offset to udata in init_ucontext')
Signed-off-by: Eli Cohen <eli@mellanox.com>
Reviewed-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-01-09 20:25:09 +02:00
..
ah.c IB/mlx5: Use kernel driver to help userspace create ah 2016-12-13 13:38:49 -05:00
cq.c IB/mlx5: Allow future extension of libmlx5 input data 2017-01-09 20:25:09 +02:00
doorbell.c IB/mlx5: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
gsi.c IB/mlx5: Fix iteration overrun in GSI qps 2016-08-02 14:32:51 -04:00
ib_virt.c IB/mlx5: Implement callbacks for manipulating VFs 2016-03-21 17:13:14 -04:00
Kconfig net/mlx5: Extend mlx5_core to support ConnectX-4 Ethernet functionality 2015-05-30 18:24:51 -07:00
mad.c IB/{core,hw}: Add constant for node_desc 2016-10-07 16:54:34 -04:00
main.c IB/mlx5: Allow future extension of libmlx5 input data 2017-01-09 20:25:09 +02:00
Makefile IB/mlx5: Implement callbacks for manipulating VFs 2016-03-21 17:13:14 -04:00
mem.c IB/mlx5: Add MR cache for large UMR regions 2017-01-02 15:51:20 -05:00
mlx5_ib.h IB/mlx5: Allow future extension of libmlx5 input data 2017-01-09 20:25:09 +02:00
mr.c IB/mlx5: Improve MR check 2017-01-02 15:51:20 -05:00
odp.c IB/mlx5: Improve MR check 2017-01-02 15:51:20 -05:00
qp.c IB/mlx5: Allow future extension of libmlx5 input data 2017-01-09 20:25:09 +02:00
srq.c Merge branch 'mlx' into merge-test 2016-12-14 14:44:25 -05:00