diff options
author | Klaus D. Wacker <kdwacker@de.ibm.com> | 2007-10-05 10:45:44 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:54:39 -0400 |
commit | bc4b2b497aa61c79e3f3444237a4003a254ea565 (patch) | |
tree | b623d52c497cae897a4df03c3e3c9868a139c225 /drivers/s390 | |
parent | a3138df9f20e726c517f8df7387b5d83f5df5566 (diff) |
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>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/qeth_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 778ddfb99077..b41a53816e92 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -4719,8 +4719,8 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) | |||
4719 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, | 4719 | rc = qeth_do_send_packet(card, queue, new_skb, hdr, |
4720 | elements_needed, ctx); | 4720 | elements_needed, ctx); |
4721 | else { | 4721 | else { |
4722 | if ((skb->protocol == htons(ETH_P_ARP)) && | 4722 | if ((!card->options.layer2) && |
4723 | (card->dev->flags & IFF_NOARP)) { | 4723 | (ipv == 0)) { |
4724 | __qeth_free_new_skb(skb, new_skb); | 4724 | __qeth_free_new_skb(skb, new_skb); |
4725 | return -EPERM; | 4725 | return -EPERM; |
4726 | } | 4726 | } |