> On May 1, 2022, at 10:18 AM, Bernard Metzler <bmt@xxxxxxxxxxxxxx> wrote: > > > >> -----Original Message----- >> From: Chuck Lever <chuck.lever@xxxxxxxxxx> >> Sent: Thursday, 28 April 2022 19:49 >> To: Bernard Metzler <BMT@xxxxxxxxxxxxxx> >> Cc: linux-rdma@xxxxxxxxxxxxxxx >> Subject: [EXTERNAL] [PATCH] RDMA/siw: Enable siw on tunnel devices >> >> From: Bernard Metzler <bmt@xxxxxxxxxxxxxx> >> >> Signed-off-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx> >> --- >> drivers/infiniband/sw/siw/siw_main.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> >> Hi Bernard! >> >> How come this change isn't in the upstream siw driver yet? >> >> > > Hi Chuck, > Good question! Did I ever send the patch to linux-rdma, or was > that conversation off-list? Sorry for asking, I can't find it in my > or linux-rdma history... I don't recall seeing this patch on the public mailing list. The conversation was between Ben Coddington, you, and me, as I recall. > Thank you! > Bernard > > >> diff --git a/drivers/infiniband/sw/siw/siw_main.c >> b/drivers/infiniband/sw/siw/siw_main.c >> index e5c586913d0b..dacc174604bf 100644 >> --- a/drivers/infiniband/sw/siw/siw_main.c >> +++ b/drivers/infiniband/sw/siw/siw_main.c >> @@ -119,6 +119,7 @@ static int siw_dev_qualified(struct net_device >> *netdev) >> * <linux/if_arp.h> for type identifiers. >> */ >> if (netdev->type == ARPHRD_ETHER || netdev->type == >> ARPHRD_IEEE802 || >> + netdev->type == ARPHRD_NONE || >> (netdev->type == ARPHRD_LOOPBACK && loopback_enabled)) >> return 1; >> >> @@ -315,12 +316,12 @@ static struct siw_device *siw_device_create(struct >> net_device *netdev) >> >> sdev->netdev = netdev; >> >> - if (netdev->type != ARPHRD_LOOPBACK) { >> + if (netdev->type != ARPHRD_LOOPBACK && netdev->type != >> ARPHRD_NONE) { >> addrconf_addr_eui48((unsigned char *)&base_dev- >>> node_guid, >> netdev->dev_addr); >> } else { >> /* >> - * The loopback device does not have a HW address, >> + * This device does not have a HW address, >> * but connection mangagement lib expects gid != 0 >> */ >> size_t len = min_t(size_t, strlen(base_dev->name), 6); -- Chuck Lever