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: Klaus D. Wacker <kdwacker@de.ibm.com> Signed-off-by: Ursula Braun <braunu@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
a3138df9f2
commit
bc4b2b497a
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue