mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 14:04:05 +08:00
[PATCH] [IPoIB] Handle sending of unicast RARP responses
RARP replies are another valid case where IPoIB may need to send a unicast packet with no neighbour structure. Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
4e38d36d88
commit
0dca0f7bf8
@ -600,9 +600,10 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
|
|
||||||
ipoib_mcast_send(dev, (union ib_gid *) (phdr->hwaddr + 4), skb);
|
ipoib_mcast_send(dev, (union ib_gid *) (phdr->hwaddr + 4), skb);
|
||||||
} else {
|
} else {
|
||||||
/* unicast GID -- should be ARP reply */
|
/* unicast GID -- should be ARP or RARP reply */
|
||||||
|
|
||||||
if (be16_to_cpup((u16 *) skb->data) != ETH_P_ARP) {
|
if ((be16_to_cpup((__be16 *) skb->data) != ETH_P_ARP) &&
|
||||||
|
(be16_to_cpup((__be16 *) skb->data) != ETH_P_RARP)) {
|
||||||
ipoib_warn(priv, "Unicast, no %s: type %04x, QPN %06x "
|
ipoib_warn(priv, "Unicast, no %s: type %04x, QPN %06x "
|
||||||
IPOIB_GID_FMT "\n",
|
IPOIB_GID_FMT "\n",
|
||||||
skb->dst ? "neigh" : "dst",
|
skb->dst ? "neigh" : "dst",
|
||||||
|
Loading…
Reference in New Issue
Block a user