Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 3157

kernel-2.6.18-194.11.1.el5.src.rpm

From: Hans-Joachim Picht <hpicht@redhat.com>
Date: Fri, 4 Apr 2008 19:50:45 +0200
Subject: [s390] lcs: ccl-seq. numbers required for prot. 802.2
Message-id: 20080404175045.GE9759@redhat.com
O-Subject: [RHEL5 U3 PATCH 5/7] s390 - lcs: CCL-seq. numbers required for prot. 802.2 only
Bugzilla: 440416
RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com>

Description
============

We see slow CCL response time because non-ETH_P_802_2 packets are
not delivered to NDH for CCL but CCL detects missing sequence numbers,
which cause a serious performance problem with CCL.

The problem is fixed assigning sequence numbers to 802.2 packets only

Bugzilla
=========

BZ 440416
https://bugzilla.redhat.com/show_bug.cgi?id=440416

Upstream status of the patch:
=============================

This patch will be posted upstream in the next merge window.
I'll reply to this message as soon as we have a git commit id

Test status:
============
Kernel with patch was built and successfully tested

Please ACK.

With best regards,

Hans

 drivers/s390/net/lcs.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index 2c8347b..d6b8be3 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -1791,7 +1791,8 @@ lcs_get_skb(struct lcs_card *card, char *skb_data, unsigned int skb_len)
 	skb->protocol =	card->lan_type_trans(skb, card->dev);
 	card->stats.rx_bytes += skb_len;
 	card->stats.rx_packets++;
-	*((__u32 *)skb->cb) = ++card->pkt_seq;
+	if (skb->protocol == htons(ETH_P_802_2))
+		*((__u32 *)skb->cb) = ++card->pkt_seq;
 	netif_rx(skb);
 }