aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma/ib_verbs.h
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2014-01-23 02:24:21 -0500
committerRoland Dreier <roland@purestorage.com>2014-01-23 02:24:21 -0500
commitfb1b5034e4987b158179a62732fb6dfb8f7ec88e (patch)
tree93d02ff7f0f530286fd54d03b632c6eaabc9dcc9 /include/rdma/ib_verbs.h
parent8f399921ea9a562bc8221258c4b8a7bd69577939 (diff)
parent27cdef637c25705b433d5c4deeef4cf8dcb75d6a (diff)
Merge branch 'ip-roce' into for-next
Conflicts: drivers/infiniband/hw/mlx4/main.c
Diffstat (limited to 'include/rdma/ib_verbs.h')
-rw-r--r--include/rdma/ib_verbs.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index c6d343078617..8d4a1c06f7e4 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -48,6 +48,7 @@
48#include <linux/rwsem.h> 48#include <linux/rwsem.h>
49#include <linux/scatterlist.h> 49#include <linux/scatterlist.h>
50#include <linux/workqueue.h> 50#include <linux/workqueue.h>
51#include <uapi/linux/if_ether.h>
51 52
52#include <linux/atomic.h> 53#include <linux/atomic.h>
53#include <asm/uaccess.h> 54#include <asm/uaccess.h>
@@ -474,6 +475,8 @@ struct ib_ah_attr {
474 u8 static_rate; 475 u8 static_rate;
475 u8 ah_flags; 476 u8 ah_flags;
476 u8 port_num; 477 u8 port_num;
478 u8 dmac[ETH_ALEN];
479 u16 vlan_id;
477}; 480};
478 481
479enum ib_wc_status { 482enum ib_wc_status {
@@ -526,6 +529,8 @@ enum ib_wc_flags {
526 IB_WC_WITH_IMM = (1<<1), 529 IB_WC_WITH_IMM = (1<<1),
527 IB_WC_WITH_INVALIDATE = (1<<2), 530 IB_WC_WITH_INVALIDATE = (1<<2),
528 IB_WC_IP_CSUM_OK = (1<<3), 531 IB_WC_IP_CSUM_OK = (1<<3),
532 IB_WC_WITH_SMAC = (1<<4),
533 IB_WC_WITH_VLAN = (1<<5),
529}; 534};
530 535
531struct ib_wc { 536struct ib_wc {
@@ -546,6 +551,8 @@ struct ib_wc {
546 u8 sl; 551 u8 sl;
547 u8 dlid_path_bits; 552 u8 dlid_path_bits;
548 u8 port_num; /* valid only for DR SMPs on switches */ 553 u8 port_num; /* valid only for DR SMPs on switches */
554 u8 smac[ETH_ALEN];
555 u16 vlan_id;
549}; 556};
550 557
551enum ib_cq_notify_flags { 558enum ib_cq_notify_flags {
@@ -724,7 +731,11 @@ enum ib_qp_attr_mask {
724 IB_QP_MAX_DEST_RD_ATOMIC = (1<<17), 731 IB_QP_MAX_DEST_RD_ATOMIC = (1<<17),
725 IB_QP_PATH_MIG_STATE = (1<<18), 732 IB_QP_PATH_MIG_STATE = (1<<18),
726 IB_QP_CAP = (1<<19), 733 IB_QP_CAP = (1<<19),
727 IB_QP_DEST_QPN = (1<<20) 734 IB_QP_DEST_QPN = (1<<20),
735 IB_QP_SMAC = (1<<21),
736 IB_QP_ALT_SMAC = (1<<22),
737 IB_QP_VID = (1<<23),
738 IB_QP_ALT_VID = (1<<24),
728}; 739};
729 740
730enum ib_qp_state { 741enum ib_qp_state {
@@ -774,6 +785,10 @@ struct ib_qp_attr {
774 u8 rnr_retry; 785 u8 rnr_retry;
775 u8 alt_port_num; 786 u8 alt_port_num;
776 u8 alt_timeout; 787 u8 alt_timeout;
788 u8 smac[ETH_ALEN];
789 u8 alt_smac[ETH_ALEN];
790 u16 vlan_id;
791 u16 alt_vlan_id;
777}; 792};
778 793
779enum ib_wr_opcode { 794enum ib_wr_opcode {
@@ -1505,6 +1520,7 @@ static inline int ib_copy_to_udata(struct ib_udata *udata, void *src, size_t len
1505 * @next_state: Next QP state 1520 * @next_state: Next QP state
1506 * @type: QP type 1521 * @type: QP type
1507 * @mask: Mask of supplied QP attributes 1522 * @mask: Mask of supplied QP attributes
1523 * @ll : link layer of port
1508 * 1524 *
1509 * This function is a helper function that a low-level driver's 1525 * This function is a helper function that a low-level driver's
1510 * modify_qp method can use to validate the consumer's input. It 1526 * modify_qp method can use to validate the consumer's input. It
@@ -1513,7 +1529,8 @@ static inline int ib_copy_to_udata(struct ib_udata *udata, void *src, size_t len
1513 * and that the attribute mask supplied is allowed for the transition. 1529 * and that the attribute mask supplied is allowed for the transition.
1514 */ 1530 */
1515int ib_modify_qp_is_ok(enum ib_qp_state cur_state, enum ib_qp_state next_state, 1531int ib_modify_qp_is_ok(enum ib_qp_state cur_state, enum ib_qp_state next_state,
1516 enum ib_qp_type type, enum ib_qp_attr_mask mask); 1532 enum ib_qp_type type, enum ib_qp_attr_mask mask,
1533 enum rdma_link_layer ll);
1517 1534
1518int ib_register_event_handler (struct ib_event_handler *event_handler); 1535int ib_register_event_handler (struct ib_event_handler *event_handler);
1519int ib_unregister_event_handler(struct ib_event_handler *event_handler); 1536int ib_unregister_event_handler(struct ib_event_handler *event_handler);