On Wed, 2017-02-01 at 19:10 +0200, Leon Romanovsky wrote: > From: Erez Shitrit <erezsh@xxxxxxxxxxxx> > > When sending packet to destination that was not resolved yet > via path query, the driver keeps the skb and tries to re-send it > again when the path is resolved. > > But when re-sending via dev_queue_xmit the kernel doesn't call > to dev_hard_header, so IPoIB needs to keep 20 bytes in the skb > and to put the destination address inside them. > > In that way the dev_start_xmit will have the correct destination, > and the driver won't take the destination from the skb->data, while > nothing exists there, which causes to packet be be dropped. > > The test flow is: > 1. Run the SM on remote node, > 2. Restart the driver. > 4. Ping some destination, > 3. Observe that first ICMP request will be dropped. > > Fixes: fc791b633515 ("IB/ipoib: move back IB LL address into the hard > header") > Cc: <stable@xxxxxxxxxxxxxxx> # v4.8+ > Signed-off-by: Erez Shitrit <erezsh@xxxxxxxxxxxx> > Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx> Thanks, applied. -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
Attachment:
signature.asc
Description: This is a digitally signed message part