Commit bc4b2b49 authored by Klaus D. Wacker's avatar Klaus D. Wacker Committed by David S. Miller

qeth: HiperSockets layer-3 interface drop non IPv4 or non IPv6 packets

HiperSockets infrastructure (layer-3 mode) supports only IPv4 or
IPv6 packets. Sending other packet types disturbs TCP/IP on z/VM,
which issues messages about invalid packets.
Qeth send routine will detect packet type on sending over a
HiperSockets interface (in layer-3 mode) and drop non IP packets.
The error and drop count of the interface is incremented.
Signed-off-by: default avatarKlaus D. Wacker <kdwacker@de.ibm.com>
Signed-off-by: default avatarUrsula Braun <braunu@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent a3138df9
...@@ -4719,8 +4719,8 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) ...@@ -4719,8 +4719,8 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb)
rc = qeth_do_send_packet(card, queue, new_skb, hdr, rc = qeth_do_send_packet(card, queue, new_skb, hdr,
elements_needed, ctx); elements_needed, ctx);
else { else {
if ((skb->protocol == htons(ETH_P_ARP)) && if ((!card->options.layer2) &&
(card->dev->flags & IFF_NOARP)) { (ipv == 0)) {
__qeth_free_new_skb(skb, new_skb); __qeth_free_new_skb(skb, new_skb);
return -EPERM; return -EPERM;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment