| .. | .. |
|---|
| 39 | 39 | #include <linux/in.h> |
|---|
| 40 | 40 | #include <linux/in6.h> |
|---|
| 41 | 41 | |
|---|
| 42 | +enum { |
|---|
| 43 | + RXE_NETWORK_TYPE_IPV4 = 1, |
|---|
| 44 | + RXE_NETWORK_TYPE_IPV6 = 2, |
|---|
| 45 | +}; |
|---|
| 46 | + |
|---|
| 42 | 47 | union rxe_gid { |
|---|
| 43 | 48 | __u8 raw[16]; |
|---|
| 44 | 49 | struct { |
|---|
| .. | .. |
|---|
| 57 | 62 | |
|---|
| 58 | 63 | struct rxe_av { |
|---|
| 59 | 64 | __u8 port_num; |
|---|
| 65 | + /* From RXE_NETWORK_TYPE_* */ |
|---|
| 60 | 66 | __u8 network_type; |
|---|
| 61 | | - __u16 reserved1; |
|---|
| 62 | | - __u32 reserved2; |
|---|
| 67 | + __u8 dmac[6]; |
|---|
| 63 | 68 | struct rxe_global_route grh; |
|---|
| 64 | 69 | union { |
|---|
| 65 | 70 | struct sockaddr_in _sockaddr_in; |
|---|
| .. | .. |
|---|
| 100 | 105 | struct ib_mr *mr; |
|---|
| 101 | 106 | __aligned_u64 reserved; |
|---|
| 102 | 107 | }; |
|---|
| 103 | | - __u32 key; |
|---|
| 104 | | - __u32 access; |
|---|
| 108 | + __u32 key; |
|---|
| 109 | + __u32 access; |
|---|
| 105 | 110 | } reg; |
|---|
| 106 | 111 | } wr; |
|---|
| 107 | 112 | }; |
|---|
| .. | .. |
|---|
| 113 | 118 | }; |
|---|
| 114 | 119 | |
|---|
| 115 | 120 | struct mminfo { |
|---|
| 116 | | - __aligned_u64 offset; |
|---|
| 121 | + __aligned_u64 offset; |
|---|
| 117 | 122 | __u32 size; |
|---|
| 118 | 123 | __u32 pad; |
|---|
| 119 | 124 | }; |
|---|