On 10/16/20 3:33 PM, Jason Gunthorpe wrote: > On Fri, Oct 16, 2020 at 03:26:46PM -0500, Bob Pearson wrote: >> The patch referenced below has a typo that results in using the wrong >> L2 header size for outbound traffic. (V4 <-> V6). >> >> It also breaks RC traffic because they use AVs that use RDMA_NETWORK_XXX >> enums instead of RXE_NETWORK_TYPE_XXX enums. Fis this by making the >> encodings the same between these different types. >> >> Fixes: e0d696d201dd ("RDMA/rxe: Move the definitions for rxe_av.network_type to >> uAPI") > > Don't word wrap these > >> Signed-off-by: Bob Pearson <rpearson@xxxxxxx> >> drivers/infiniband/sw/rxe/rxe_net.c | 2 +- >> include/uapi/rdma/rdma_user_rxe.h | 5 +++-- >> 2 files changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c >> index 575e1a4ec821..34bef7d8e6b4 100644 >> +++ b/drivers/infiniband/sw/rxe/rxe_net.c >> @@ -442,7 +442,7 @@ struct sk_buff *rxe_init_packet(struct rxe_dev *rxe, struct rxe_av *av, >> if (IS_ERR(attr)) >> return NULL; >> >> - if (av->network_type == RXE_NETWORK_TYPE_IPV6) >> + if (av->network_type == RXE_NETWORK_TYPE_IPV4) >> hdr_len = ETH_HLEN + sizeof(struct udphdr) + >> sizeof(struct iphdr); >> else >> diff --git a/include/uapi/rdma/rdma_user_rxe.h b/include/uapi/rdma/rdma_user_rxe.h >> index e591d8c1f3cf..ce430d3dceaf 100644 >> +++ b/include/uapi/rdma/rdma_user_rxe.h >> @@ -40,8 +40,9 @@ >> #include <linux/in6.h> >> >> enum { >> - RXE_NETWORK_TYPE_IPV4 = 1, >> - RXE_NETWORK_TYPE_IPV6 = 2, >> + /* good reasons to make same as RDMA_NETWORK_XXX */ >> + RXE_NETWORK_TYPE_IPV4 = 2, >> + RXE_NETWORK_TYPE_IPV6 = 3, >> }; > > No just transcode them in the only place that matters, we still can't > break userspace > > Jason > done. You should have it.