Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH V2 net-next 0/3] bnx2x: Message logging cleanups
From: David Miller @ 2011-08-17 22:47 UTC (permalink / raw)
  To: eilong; +Cc: joe, netdev, linux-kernel
In-Reply-To: <1313588528.7266.6.camel@lb-tlvb-eilong.il.broadcom.com>

From: "Eilon Greenstein" <eilong@broadcom.com>
Date: Wed, 17 Aug 2011 16:42:08 +0300

> On Sun, 2011-08-14 at 15:16 -0700, Joe Perches wrote: 
>> Joe Perches (3):
>>   bnx2x: Remove local defines for %pM and mac address
>>   bnx2x: Coalesce pr_cont uses and fix DP typos
>>   bnx2x: Use pr_fmt and message logging cleanups
>> 
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x.h        |   67 ++++-----
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |   48 ++++---
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h    |    4 +-
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_dcb.c    |    5 +-
>>  .../net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c    |   23 ++--
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c   |  153 ++++++++++----------
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c   |   72 ++++-----
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c     |   67 ++++-----
>>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c  |   46 +++---
>>  9 files changed, 244 insertions(+), 241 deletions(-)
>> 
> 
> Thanks Joe, sorry it took a while - but ACK for all :)

All applied, thanks everyone.

^ permalink raw reply

* Re: [Bugme-new] [Bug 41152] New: kernel 3.0 and above fails to handle vlan id 0 (802.1p) packets properly without hardware acceleration
From: Mike Auty @ 2011-08-17 22:48 UTC (permalink / raw)
  To: Jiri Pirko; +Cc: Andrew Morton, bugme-daemon, netdev
In-Reply-To: <20110817105950.GA4259@minipsycho.brq.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1356 bytes --]

On 17/08/11 11:59, Jiri Pirko wrote:
> 
> I just obtained very similar card (8086:422b). Going to look at it right
> away.
> 
> One more thing. What do you use to generate vlan0 tagged packets? I'm
> using pktgen with "vlan_id 0". Would you please try that it behaves the
> same for you?
> 	

Sorry, I haven't been using pktgen.  I've got an actual device (a
Samsung android phone) which seems to tag all normal outbound packets
with this type of vlan tag.  I only discovered a month ago that I needed
the 8021q module to be able to talk to it, and then suddenly it stopped
working once I moved to the 3.0 kernel.

I might not have made it clear, but the packets are received (in so much
as the packet is definitely sent, and it's seen by tools such as
wireshark), but no reply is ever sent.  I've attached packet logs from
the 3.0.1 kernel and the 2.6.39.3 kernel.  Oddly the tagging only seems
to be used on the first SYN,ACK packet, but again I don't know enough
about the pipeline or what the Samsung kernel's doing to cause that.

I hope that's of some help?  I may be able to get systemtap support
rolled into my kernel tomorrow at some point, but if not then it will
have to wait until the weekend.  I don't know if that will provide
useful information for debugging this, but I am happy to run whatever
tests I can to figure this out...

Mike  5:)

[-- Attachment #2: vlan0-on-kernel-2.6.39.3.pcap --]
[-- Type: application/x-extension-pcap, Size: 687 bytes --]

[-- Attachment #3: vlan0-on-kernel-3.0.1.pcap --]
[-- Type: application/x-extension-pcap, Size: 786 bytes --]

^ permalink raw reply

* [Patch] Scm: Remove unnecessary pid & credential references in Unix socket's send and receive path
From: Tim Chen @ 2011-08-17 23:56 UTC (permalink / raw)
  To: Eric Dumazet, David S. Miller, Al Viro, Eric W. Biederman
  Cc: Andi Kleen, Matt Fleming, linux-kernel, netdev

Patch series 109f6e39..7361c36c back in 2.6.36 added functionality to
allow credentials to work across pid namespaces for packets sent via
UNIX sockets.  However, the atomic reference counts on pid and
credentials caused plenty of cache bouncing when there are numerous
threads of the same pid sharing a UNIX socket.  This patch mitigates the
problem by eliminating extraneous reference counts on pid and
credentials on both send and receive path of UNIX sockets. I found a 2x
improvement in hackbench's threaded case.

On the receive path in unix_dgram_recvmsg, currently there is an
increment of reference count on pid and credentials in scm_set_cred.
Then there are two decrement of the reference counts.  Once in scm_recv
and once when skb_free_datagram call skb->destructor function
unix_destruct_scm.  One pair of increment and decrement of ref count on
pid and credentials can be eliminated from the receive path.  Until we
destroy the skb, we already set a reference when we created the skb on
the send side.

On the send path, there are two increments of ref count on pid and
credentials, once in scm_send and once in unix_scm_to_skb.  Then there
is a decrement of the reference counts in scm_destroy's call to
scm_destroy_cred at the end of unix_dgram_send* functions.   One pair of
increment and decrement of the reference counts can be removed so we
only need to increment the ref counts once.

By incorporating these changes, for hackbench running on a 4 socket
NHM-EX machine with 40 cores, the execution of hackbench on
50 groups of 20 threads sped up by factor of 2.

Hackbench command used for testing:
./hackbench 50 thread 2000

Reviews and comments are appreciated.

Thanks.

Tim

---

Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
--
diff --git a/include/net/scm.h b/include/net/scm.h
index 745460f..e24ec88 100644
--- a/include/net/scm.h
+++ b/include/net/scm.h
@@ -53,6 +53,14 @@ static __inline__ void scm_set_cred(struct scm_cookie *scm,
 	cred_to_ucred(pid, cred, &scm->creds);
 }
 
+static __inline__ void scm_set_cred_noref(struct scm_cookie *scm,
+				    struct pid *pid, const struct cred *cred)
+{
+	scm->pid  = pid;
+	scm->cred = cred;
+	cred_to_ucred(pid, cred, &scm->creds);
+}
+
 static __inline__ void scm_destroy_cred(struct scm_cookie *scm)
 {
 	put_pid(scm->pid);
@@ -70,6 +78,15 @@ static __inline__ void scm_destroy(struct scm_cookie *scm)
 		__scm_destroy(scm);
 }
 
+static __inline__ void scm_release(struct scm_cookie *scm)
+{
+	/* keep ref on pid and cred */
+	scm->pid = NULL;
+	scm->cred = NULL;
+	if (scm && scm->fp)
+		__scm_destroy(scm);
+}
+
 static __inline__ int scm_send(struct socket *sock, struct msghdr *msg,
 			       struct scm_cookie *scm)
 {
@@ -108,15 +125,14 @@ static __inline__ void scm_recv(struct socket *sock, struct msghdr *msg,
 	if (!msg->msg_control) {
 		if (test_bit(SOCK_PASSCRED, &sock->flags) || scm->fp)
 			msg->msg_flags |= MSG_CTRUNC;
-		scm_destroy(scm);
+		if (scm && scm->fp)
+			__scm_destroy(scm);
 		return;
 	}
 
 	if (test_bit(SOCK_PASSCRED, &sock->flags))
 		put_cmsg(msg, SOL_SOCKET, SCM_CREDENTIALS, sizeof(scm->creds), &scm->creds);
 
-	scm_destroy_cred(scm);
-
 	scm_passec(sock, msg, scm);
 
 	if (!scm->fp)
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 0722a25..bd85c06 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1382,11 +1382,17 @@ static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
 	return max_level;
 }
 
-static int unix_scm_to_skb(struct scm_cookie *scm, struct sk_buff *skb, bool send_fds)
+static int unix_scm_to_skb(struct scm_cookie *scm, struct sk_buff *skb,
+			   bool send_fds, bool ref)
 {
 	int err = 0;
-	UNIXCB(skb).pid  = get_pid(scm->pid);
-	UNIXCB(skb).cred = get_cred(scm->cred);
+	if (ref) {
+		UNIXCB(skb).pid  = get_pid(scm->pid);
+		UNIXCB(skb).cred = get_cred(scm->cred);
+	} else {
+		UNIXCB(skb).pid  = scm->pid;
+		UNIXCB(skb).cred = scm->cred;
+	}
 	UNIXCB(skb).fp = NULL;
 	if (scm->fp && send_fds)
 		err = unix_attach_fds(scm, skb);
@@ -1411,7 +1417,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
 	int namelen = 0; /* fake GCC */
 	int err;
 	unsigned hash;
-	struct sk_buff *skb;
+	struct sk_buff *skb = NULL;
 	long timeo;
 	struct scm_cookie tmp_scm;
 	int max_level;
@@ -1452,7 +1458,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
 	if (skb == NULL)
 		goto out;
 
-	err = unix_scm_to_skb(siocb->scm, skb, true);
+	err = unix_scm_to_skb(siocb->scm, skb, true, false);
 	if (err < 0)
 		goto out_free;
 	max_level = err + 1;
@@ -1548,7 +1554,7 @@ restart:
 	unix_state_unlock(other);
 	other->sk_data_ready(other, len);
 	sock_put(other);
-	scm_destroy(siocb->scm);
+	scm_release(siocb->scm);
 	return len;
 
 out_unlock:
@@ -1558,7 +1564,8 @@ out_free:
 out:
 	if (other)
 		sock_put(other);
-	scm_destroy(siocb->scm);
+	if (skb == NULL)
+		scm_destroy(siocb->scm);
 	return err;
 }
 
@@ -1570,7 +1577,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
 	struct sock *sk = sock->sk;
 	struct sock *other = NULL;
 	int err, size;
-	struct sk_buff *skb;
+	struct sk_buff *skb = NULL;
 	int sent = 0;
 	struct scm_cookie tmp_scm;
 	bool fds_sent = false;
@@ -1635,11 +1642,14 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
 		size = min_t(int, size, skb_tailroom(skb));
 
 
-		/* Only send the fds in the first buffer */
-		err = unix_scm_to_skb(siocb->scm, skb, !fds_sent);
+		/* Only send the fds and no ref to pid in the first buffer */
+		if (fds_sent)
+			err = unix_scm_to_skb(siocb->scm, skb, !fds_sent, true);
+		else
+			err = unix_scm_to_skb(siocb->scm, skb, !fds_sent, false);
 		if (err < 0) {
 			kfree_skb(skb);
-			goto out_err;
+			goto out;
 		}
 		max_level = err + 1;
 		fds_sent = true;
@@ -1647,7 +1657,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
 		err = memcpy_fromiovec(skb_put(skb, size), msg->msg_iov, size);
 		if (err) {
 			kfree_skb(skb);
-			goto out_err;
+			goto out;
 		}
 
 		unix_state_lock(other);
@@ -1664,7 +1674,10 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
 		sent += size;
 	}
 
-	scm_destroy(siocb->scm);
+	if (skb)
+		scm_release(siocb->scm);
+	else
+		scm_destroy(siocb->scm);
 	siocb->scm = NULL;
 
 	return sent;
@@ -1677,7 +1690,9 @@ pipe_err:
 		send_sig(SIGPIPE, current, 0);
 	err = -EPIPE;
 out_err:
-	scm_destroy(siocb->scm);
+	if (skb == NULL)
+		scm_destroy(siocb->scm);
+out:
 	siocb->scm = NULL;
 	return sent ? : err;
 }
@@ -1781,7 +1796,7 @@ static int unix_dgram_recvmsg(struct kiocb *iocb, struct socket *sock,
 		siocb->scm = &tmp_scm;
 		memset(&tmp_scm, 0, sizeof(tmp_scm));
 	}
-	scm_set_cred(siocb->scm, UNIXCB(skb).pid, UNIXCB(skb).cred);
+	scm_set_cred_noref(siocb->scm, UNIXCB(skb).pid, UNIXCB(skb).cred);
 	unix_set_secdata(siocb->scm, skb);
 
 	if (!(flags & MSG_PEEK)) {
@@ -1943,7 +1958,8 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
 			}
 		} else {
 			/* Copy credentials */
-			scm_set_cred(siocb->scm, UNIXCB(skb).pid, UNIXCB(skb).cred);
+			scm_set_cred_noref(siocb->scm, UNIXCB(skb).pid,
+					   UNIXCB(skb).cred);
 			check_creds = 1;
 		}
 




^ permalink raw reply related

* Re: [PATCH v2 0/4] rps: Look into tunnels to get hash
From: David Miller @ 2011-08-18  3:06 UTC (permalink / raw)
  To: therbert; +Cc: netdev
In-Reply-To: <alpine.DEB.2.00.1108142135340.24599@pokey.mtv.corp.google.com>

From: Tom Herbert <therbert@google.com>
Date: Sun, 14 Aug 2011 22:44:33 -0700 (PDT)

> In this version fixed calls to sock_rps_save_rxhash in IPv6 with correct
> arguments and addressed comments from Eric Dumazet.
> 
> The patches in this series are to look into encapsulated packets
> to compute the rx hash for RPS.  Before these patches, all packets
> received on the same tunnel would wind up on the same RPS CPU-- this
> can lead to very poor loading, and make RFS ineffective on these
> packets.
> 
> This patch supports getting the rxhash out of a GRE encapsulated packet.

I'm sure we'll have some follow-on tweaks to this, but the basic
infrastructure looks fine to me.

Applied, thanks!

^ permalink raw reply

* Re: [PATCH] net: netdev-features.txt update to Documentation/networking/00-INDEX
From: David Miller @ 2011-08-18  3:09 UTC (permalink / raw)
  To: willemb; +Cc: netdev, mircus
In-Reply-To: <4E496526.8090201@google.com>

From: Willem de Bruijn <willemb@google.com>
Date: Mon, 15 Aug 2011 14:27:50 -0400

> Update netdev-features.txt entry in 00-INDEX to incorporate
> feedback by Michał Mirosław. A trivial update to my previous
> patch, but I was too late with preparing a v2. Will try to
> avoid having to send patches to my own patches in the future. 
> 
>   willem
> 
> Signed-off-by: Willem de Bruijn <willemb@gmail.com>

Patch corrupted by your email client, please fix and do a full
fresh resubmission.

Thanks.

^ permalink raw reply

* Re: [PATCH] net_sched: fix port mirror/redirect stats reporting
From: David Miller @ 2011-08-18  3:10 UTC (permalink / raw)
  To: jhs, hadi; +Cc: netdev
In-Reply-To: <1313421940.1798.2.camel@mojatatu>

From: jamal <hadi@cyberus.ca>
Date: Mon, 15 Aug 2011 11:25:40 -0400

> commit 6a51508a01671114c236602d071d4bff53422c60
> Author: Jamal Hadi Salim <jhs@mojatatu.com>
> Date:   Mon Aug 15 11:17:06 2011 -0400
> 
>     [PATCH] net_sched: fix port mirror/redirect stats reporting
>     
>     When a redirected or mirrored packet is dropped by the target
>     device we need to record statistics.
>     
>     Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH net-2.6 V2] bonding:reset backup and inactive flag of slave
From: David Miller @ 2011-08-18  3:12 UTC (permalink / raw)
  To: xiyou.wangcong; +Cc: netdev
In-Reply-To: <j2dnte$p7a$1@dough.gmane.org>

From: WANG Cong <xiyou.wangcong@gmail.com>
Date: Tue, 16 Aug 2011 12:30:39 +0000 (UTC)

> On Tue, 16 Aug 2011 09:57:35 +0800, Weiping Pan wrote:
> 
>> Eduard Sinelnikov (eduard.sinelnikov@gmail.com) found that if we change
>> bonding mode from active backup to round robin, some slaves are still
>> keeping "backup", and won't transmit packets.
>> 
>> As Jay Vosburgh(fubar@us.ibm.com) pointed out that we can work around
>> that by removing the bond_is_active_slave() check, because the "backup"
>> flag is only meaningful for active backup mode.
>> 
>> But if we just simply ignore the bond_is_active_slave() check, the
>> transmission will work fine, but we can't maintain the correct value of
>> "backup" flag for each slaves, though it is meaningless for other mode
>> than active backup.
>> 
>> I'd like to reset "backup" and "inactive" flag in bond_open, thus we can
>> keep the correct value of them.
>> 
>> As for bond_is_active_slave(), I'd like to prepare another patch to
>> handle it.
>> 
>> V2:
>> Use C style comment.
>> Move read_lock(&bond->curr_slave_lock). Replace restore with reset, for
>> active backup mode, it means "restore", but for other modes, it means
>> "reset".
>> 
>> Signed-off-by: Weiping Pan <panweiping3@gmail.com>
> 
> Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>

Applied, thanks.

^ permalink raw reply

* Re: [patch net-2.6] via-velocity: remove non-tagged packet filtering
From: David Miller @ 2011-08-18  3:14 UTC (permalink / raw)
  To: jpirko; +Cc: netdev, shemminger, romieu, stephan.baerwolf
In-Reply-To: <1313483614-2188-1-git-send-email-jpirko@redhat.com>

From: Jiri Pirko <jpirko@redhat.com>
Date: Tue, 16 Aug 2011 10:33:34 +0200

> It's undesired to filter untagged packets at any time. So simply remove this.
> 
> Reported-by: Stephan Bärwolf <stephan.baerwolf@tu-ilmenau.de>
> Tested-by: Stephan Bärwolf <stephan.baerwolf@tu-ilmenau.de>
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH] net/can/mscan: add __iomem annotations
From: David Miller @ 2011-08-18  3:16 UTC (permalink / raw)
  To: mkl; +Cc: netdev, w.sang, socketcan-core
In-Reply-To: <1313405834-10340-1-git-send-email-mkl@pengutronix.de>

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Mon, 15 Aug 2011 12:57:14 +0200

> This patch fixes the following sparse warning by adding the missing
> __iomem annotation.
> 
> drivers/net/can/mscan/mscan.c:73:32: warning: incorrect type in argument 1 (different address spaces)
> drivers/net/can/mscan/mscan.c:73:32:    expected unsigned char volatile [noderef] [usertype] <asn:2>*addr
> drivers/net/can/mscan/mscan.c:73:32:    got unsigned char *<noident>
> 
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> ---
> 
> This patch applies so current net-next-2.6/master and can be pulled:
> 
> The following changes since commit b333293058aa2d401737c7246bce58f8ba00906d:
> 
>   qeth: add support for af_iucv HiperSockets transport (2011-08-13 01:10:17 -0700)
> 
> are available in the git repository at:
>   git://git.pengutronix.de/git/mkl/linux-2.6.git can/mscan

Pulled, thanks.

^ permalink raw reply

* Re: [patch net-next-2.6] bonding: use ndo_change_rx_flags callback
From: David Miller @ 2011-08-18  3:18 UTC (permalink / raw)
  To: jpirko; +Cc: mirqus, netdev, fubar, andy
In-Reply-To: <20110816131503.GA26958@minipsycho.brq.redhat.com>

From: Jiri Pirko <jpirko@redhat.com>
Date: Tue, 16 Aug 2011 15:15:04 +0200

> V2:
> 
> Subject: [patch net-next-2.6 v2] bonding: use ndo_change_rx_flags callback
> 
> Benefit from use of ndo_change_rx_flags in handling change of promisc
> and allmulti. No need to store previous state locally.
> 
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
> 
> v1->v2: fixed IFF_ALLMULTI/IFF_PROMISC c&p typo

Applied, thanks.

^ permalink raw reply

* Re: [patch net-next-2.6 0/3] net: remove ndo_set_multicast_list
From: David Miller @ 2011-08-18  3:22 UTC (permalink / raw)
  To: jpirko
  Cc: netdev, shemminger, eric.dumazet, kaber, yoshfuji, rdunlap,
	kuznet, jmorris, mirqus, jesse
In-Reply-To: <1313512142-3355-1-git-send-email-jpirko@redhat.com>

From: Jiri Pirko <jpirko@redhat.com>
Date: Tue, 16 Aug 2011 18:28:59 +0200

> Now we have 2 callbacks exported to drivers to set rx filtering:
> ndo_set_multicast_list
> ndo_set_rx_mode
> 
> The second one was added with second unicast address list and only drivers
> that are able to handle unicast filtering should use that. 
> 
> Having these two together is confusing and as I found out in many drivers,
> developers are not using them properly. So just kill one of them.
> ndo_set_multicast_list gets the bullet because I believe that name "set_rx_mode"
> is more appropriate.
> 
> IFF_UNICAST_FLT flag is used so core know if driver handles unicast filtering.
> 
> applies cleanly on most recent net-next with "[patch net-next-2.6 v2] bonding: use ndo_change_rx_flags callback"

All applied, thanks Jiri!

^ permalink raw reply

* (unknown)
From: Catherine.Bellenfant @ 2011-08-18  3:04 UTC (permalink / raw)




Dear beneficiary,

This is to re-notify you of the $300,000.00 USD that was deposited
here in the western union office in your name is available for pickup.
Contact us via email for your M.T.C.N Numbers.

Contact Person:Mr. Allen Williams
Email: mrallenailliams@hotmail.com
Tel. +447024037299

^ permalink raw reply

* Re: [PATCH v13 0/6] flexcan: Add support for powerpc flexcan (freescale p1010)
From: David Miller @ 2011-08-18  3:36 UTC (permalink / raw)
  To: holt-sJ/iWh9BUns
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, B22300-KZfg59tc24xl57MIdRCFDg,
	galak-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w, mkl-bIcnvbaLZ9MEGnE8C9+IrQ,
	linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ, wg-5Yr1BZd7O62+XT7JhA+gdA
In-Reply-To: <1313551944-28603-1-git-send-email-holt-sJ/iWh9BUns@public.gmane.org>

From: Robin Holt <holt-sJ/iWh9BUns@public.gmane.org>
Date: Tue, 16 Aug 2011 22:32:18 -0500

> The following set of patches have been reviewed by the above parties and
> all comments have been integrated.  Although the patches stray from the
> drivers/net/can directory, the diversions are related to changes for
> the flexcan driver.
> 
> The patch set is based upon your net-next-2.6 tree's commit 6c37e46.
> 
> Could you please queue these up for the next appropriate push to Linus'
> tree?

Applied to net-next, thanks!

^ permalink raw reply

* Re: linux-next: boot test failure (net tree)
From: Stephen Rothwell @ 2011-08-18  5:22 UTC (permalink / raw)
  To: David Miller
  Cc: netdev, linux-next, linux-kernel, jeffrey.t.kirsher,
	Michael Neuling, Linus, Andrew Morton
In-Reply-To: <20110817105002.efebf85d08460ad99b14be8e@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 1726 bytes --]

Hi Dave,

On Wed, 17 Aug 2011 10:50:02 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Tue, 16 Aug 2011 17:15:25 -0700 (PDT) David Miller <davem@davemloft.net> wrote:
> >
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Wed, 17 Aug 2011 10:01:46 +1000
> > 
> > > In particular, CONFIG_TIGON3 newly depends on
> > > CONFIG_NET_VENDOR_BROADCOM which will no be selected when doing a
> > > "make oldconfig" from a working config.
> > 
> > When you type "make oldconfig" with an existing .config it prompts you
> > for those vendor guards, giving you ample opportunity to say yes to
> > them.
> 
> Which is a bit of a pain for automated systems.  Ours does (essentially):
> 
> yes '' | make oldconfig
> 
> We really don't want to select every new config item that comes along.

So, Mikey did a test for me (he was bitten by this today).  Just one of
the powerpc configs (pseries_defconfig which should, in theory, build a
kernel that will boot on almost all our POWER server machines) loses all
these drivers if you do a "make pseries_defconfig":

 -CONFIG_IBMVETH=y
 -CONFIG_PCNET32=y
 -CONFIG_E100=y
 -CONFIG_ACENIC=m
 -CONFIG_ACENIC_OMIT_TIGON_I=y
 -CONFIG_E1000=y
 -CONFIG_E1000E=y
 -CONFIG_BNX2=m
 -CONFIG_CHELSIO_T3=m
 -CONFIG_CHELSIO_T4=m
 -CONFIG_IXGBE=m
 -CONFIG_IXGB=m
 -CONFIG_S2IO=m
 -CONFIG_MYRI10GE=m
 -CONFIG_NETXEN_NIC=m
 -CONFIG_QLGE=m
 -CONFIG_BE2NET=m

That is just one of our deconfigs ... there are over 400 defconfigs in
the kernel and a lot of them will need to be updated.

Mikey asks:  Will Dave take these updates if we get Acks from the
maintainers?  :-)

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: linux-next: boot test failure (net tree)
From: Jeff Kirsher @ 2011-08-18  5:40 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: David Miller, netdev@vger.kernel.org, linux-next@vger.kernel.org,
	linux-kernel@vger.kernel.org, Michael Neuling, Linus,
	Andrew Morton
In-Reply-To: <20110818152214.661858a61496993aaef2c704@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 2308 bytes --]

On Wed, 2011-08-17 at 22:22 -0700, Stephen Rothwell wrote:
> Hi Dave,
> 
> On Wed, 17 Aug 2011 10:50:02 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > On Tue, 16 Aug 2011 17:15:25 -0700 (PDT) David Miller <davem@davemloft.net> wrote:
> > >
> > > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > > Date: Wed, 17 Aug 2011 10:01:46 +1000
> > > 
> > > > In particular, CONFIG_TIGON3 newly depends on
> > > > CONFIG_NET_VENDOR_BROADCOM which will no be selected when doing a
> > > > "make oldconfig" from a working config.
> > > 
> > > When you type "make oldconfig" with an existing .config it prompts you
> > > for those vendor guards, giving you ample opportunity to say yes to
> > > them.
> > 
> > Which is a bit of a pain for automated systems.  Ours does (essentially):
> > 
> > yes '' | make oldconfig
> > 
> > We really don't want to select every new config item that comes along.
> 
> So, Mikey did a test for me (he was bitten by this today).  Just one of
> the powerpc configs (pseries_defconfig which should, in theory, build a
> kernel that will boot on almost all our POWER server machines) loses all
> these drivers if you do a "make pseries_defconfig":
> 
>  -CONFIG_IBMVETH=y
>  -CONFIG_PCNET32=y
>  -CONFIG_E100=y
>  -CONFIG_ACENIC=m
>  -CONFIG_ACENIC_OMIT_TIGON_I=y
>  -CONFIG_E1000=y
>  -CONFIG_E1000E=y
>  -CONFIG_BNX2=m
>  -CONFIG_CHELSIO_T3=m
>  -CONFIG_CHELSIO_T4=m
>  -CONFIG_IXGBE=m
>  -CONFIG_IXGB=m
>  -CONFIG_S2IO=m
>  -CONFIG_MYRI10GE=m
>  -CONFIG_NETXEN_NIC=m
>  -CONFIG_QLGE=m
>  -CONFIG_BE2NET=m
> 
> That is just one of our deconfigs ... there are over 400 defconfigs in
> the kernel and a lot of them will need to be updated.
> 
> Mikey asks:  Will Dave take these updates if we get Acks from the
> maintainers?  :-)
> 

I am open to the idea.  I considered updating the the defconfig's, but
was not sure was the best way of doing the changes.  I was not sure
making these changes in Dave's net-next tree would not upset the arch
maintainer's, especially if there is a better tree(s) for the changes.

I am in the finishing up the patches for drivers/net/ {FDDI, PPP, SLIP,
HIPPI, etc.) and since I started this change, I would sign-up for making
the defconfig changes if that helps.

Cheers,
Jeff

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: linux-next: boot test failure (net tree)
From: David Miller @ 2011-08-18  5:53 UTC (permalink / raw)
  To: sfr
  Cc: netdev, linux-next, linux-kernel, jeffrey.t.kirsher, mikey,
	torvalds, akpm
In-Reply-To: <20110818152214.661858a61496993aaef2c704@canb.auug.org.au>

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 18 Aug 2011 15:22:14 +1000

> Mikey asks:  Will Dave take these updates if we get Acks from the
> maintainers?  :-)

I'm more than happy to :-)

^ permalink raw reply

* [PATCH] fix IBM EMAC driver after rename.
From: Tony Breeds @ 2011-08-18  6:13 UTC (permalink / raw)
  To: Netdev List, David Miller, Jeff Kirsher

In commit 9aa3283595451ca093500ff0977b106e1f465586 (ehea/ibm*: Move the
IBM drivers) the IBM_NEW_EMAC* were renames to IBM_EMAC*

The conversion was incomplete so that even if the driver was added to
the .config it wasn't built, but there were no errors)

This should fix those omissions.

Tested on a canyondlands board.
---

Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
---
 arch/powerpc/platforms/40x/Kconfig     |   12 +++---
 arch/powerpc/platforms/44x/Kconfig     |   54 ++++++++++++++++----------------
 arch/powerpc/platforms/cell/Kconfig    |    8 ++--
 drivers/net/ethernet/ibm/emac/Makefile |   10 +++---
 drivers/net/ethernet/ibm/emac/core.c   |   12 +++---
 drivers/net/ethernet/ibm/emac/core.h   |   16 +++++-----
 drivers/net/ethernet/ibm/emac/debug.h  |    2 +-
 drivers/net/ethernet/ibm/emac/mal.c    |    6 ++--
 drivers/net/ethernet/ibm/emac/mal.h    |    4 +-
 drivers/net/ethernet/ibm/emac/rgmii.h  |    4 +-
 drivers/net/ethernet/ibm/emac/tah.h    |    4 +-
 drivers/net/ethernet/ibm/emac/zmii.h   |    4 +-
 12 files changed, 68 insertions(+), 68 deletions(-)

diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index d733d7c..b5d8706 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -130,21 +130,21 @@ config 405GP
 	bool
 	select IBM405_ERR77
 	select IBM405_ERR51
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_ZMII
 
 config 405EP
 	bool
 
 config 405EX
 	bool
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
 
 config 405EZ
 	bool
-	select IBM_NEW_EMAC_NO_FLOW_CTRL
-	select IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
-	select IBM_NEW_EMAC_MAL_COMMON_ERR
+	select IBM_EMAC_NO_FLOW_CTRL
+	select IBM_EMAC_MAL_CLR_ICINTSTAT
+	select IBM_EMAC_MAL_COMMON_ERR
 
 config 405GPR
 	bool
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index e958b6f..762322c 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -23,7 +23,7 @@ config BLUESTONE
 	default n
 	select PPC44x_SIMPLE
 	select APM821xx
-	select IBM_NEW_EMAC_RGMII
+	select IBM_EMAC_RGMII
 	help
 	  This option enables support for the APM APM821xx Evaluation board.
 
@@ -122,8 +122,8 @@ config CANYONLANDS
 	select PPC4xx_PCI_EXPRESS
 	select PCI_MSI
 	select PPC4xx_MSI
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII
 	help
 	  This option enables support for the AMCC PPC460EX evaluation board.
 
@@ -135,8 +135,8 @@ config GLACIER
 	select 460EX # Odd since it uses 460GT but the effects are the same
 	select PCI
 	select PPC4xx_PCI_EXPRESS
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII
 	help
 	  This option enables support for the AMCC PPC460GT evaluation board.
 
@@ -161,7 +161,7 @@ config EIGER
 	select 460SX
 	select PCI
 	select PPC4xx_PCI_EXPRESS
-	select IBM_NEW_EMAC_RGMII
+	select IBM_EMAC_RGMII
 	help
 	  This option enables support for the AMCC PPC460SX evaluation board.
 
@@ -260,59 +260,59 @@ config 440EP
 	bool
 	select PPC_FPU
 	select IBM440EP_ERR42
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_ZMII
 	select USB_ARCH_HAS_OHCI
 
 config 440EPX
 	bool
 	select PPC_FPU
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII
 
 config 440GRX
 	bool
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII
 
 config 440GP
 	bool
-	select IBM_NEW_EMAC_ZMII
+	select IBM_EMAC_ZMII
 
 config 440GX
 	bool
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII #test only
-	select IBM_NEW_EMAC_TAH  #test only
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII #test only
+	select IBM_EMAC_TAH  #test only
 
 config 440SP
 	bool
 
 config 440SPe
 	bool
-	select IBM_NEW_EMAC_EMAC4
+	select IBM_EMAC_EMAC4
 
 config 460EX
 	bool
 	select PPC_FPU
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_TAH
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_TAH
 
 config 460SX
 	bool
 	select PPC_FPU
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII
-	select IBM_NEW_EMAC_TAH
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII
+	select IBM_EMAC_TAH
 
 config APM821xx
 	bool
 	select PPC_FPU
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_TAH
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_TAH
 
 # 44x errata/workaround config symbols, selected by the CPU models above
 config IBM440EP_ERR42
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 67d5009..2e7ff0c 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -17,10 +17,10 @@ config PPC_CELL_NATIVE
 	select PPC_CELL_COMMON
 	select MPIC
 	select PPC_IO_WORKAROUNDS
-	select IBM_NEW_EMAC_EMAC4
-	select IBM_NEW_EMAC_RGMII
-	select IBM_NEW_EMAC_ZMII #test only
-	select IBM_NEW_EMAC_TAH  #test only
+	select IBM_EMAC_EMAC4
+	select IBM_EMAC_RGMII
+	select IBM_EMAC_ZMII #test only
+	select IBM_EMAC_TAH  #test only
 	default n
 
 config PPC_IBM_CELL_BLADE
diff --git a/drivers/net/ethernet/ibm/emac/Makefile b/drivers/net/ethernet/ibm/emac/Makefile
index 0b5c995..ed6470c 100644
--- a/drivers/net/ethernet/ibm/emac/Makefile
+++ b/drivers/net/ethernet/ibm/emac/Makefile
@@ -2,10 +2,10 @@
 # Makefile for the PowerPC 4xx on-chip ethernet driver
 #
 
-obj-$(CONFIG_IBM_NEW_EMAC) += ibm_newemac.o
+obj-$(CONFIG_IBM_EMAC) += ibm_newemac.o
 
 ibm_newemac-y := mal.o core.o phy.o
-ibm_newemac-$(CONFIG_IBM_NEW_EMAC_ZMII) += zmii.o
-ibm_newemac-$(CONFIG_IBM_NEW_EMAC_RGMII) += rgmii.o
-ibm_newemac-$(CONFIG_IBM_NEW_EMAC_TAH) += tah.o
-ibm_newemac-$(CONFIG_IBM_NEW_EMAC_DEBUG) += debug.o
+ibm_newemac-$(CONFIG_IBM_EMAC_ZMII) += zmii.o
+ibm_newemac-$(CONFIG_IBM_EMAC_RGMII) += rgmii.o
+ibm_newemac-$(CONFIG_IBM_EMAC_TAH) += tah.o
+ibm_newemac-$(CONFIG_IBM_EMAC_DEBUG) += debug.o
diff --git a/drivers/net/ethernet/ibm/emac/core.c b/drivers/net/ethernet/ibm/emac/core.c
index 70cb7d8..6e014ae 100644
--- a/drivers/net/ethernet/ibm/emac/core.c
+++ b/drivers/net/ethernet/ibm/emac/core.c
@@ -90,7 +90,7 @@ MODULE_LICENSE("GPL");
 /* If packet size is less than this number, we allocate small skb and copy packet
  * contents into it instead of just sending original big skb up
  */
-#define EMAC_RX_COPY_THRESH		CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD
+#define EMAC_RX_COPY_THRESH		CONFIG_IBM_EMAC_RX_COPY_THRESHOLD
 
 /* Since multiple EMACs share MDIO lines in various ways, we need
  * to avoid re-using the same PHY ID in cases where the arch didn't
@@ -1618,7 +1618,7 @@ static void emac_parse_rx_error(struct emac_instance *dev, u16 ctrl)
 static inline void emac_rx_csum(struct emac_instance *dev,
 				struct sk_buff *skb, u16 ctrl)
 {
-#ifdef CONFIG_IBM_NEW_EMAC_TAH
+#ifdef CONFIG_IBM_EMAC_TAH
 	if (!ctrl && dev->tah_dev) {
 		skb->ip_summed = CHECKSUM_UNNECESSARY;
 		++dev->stats.rx_packets_csum;
@@ -2577,7 +2577,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
 		    of_device_is_compatible(np, "ibm,emac-440gr"))
 			dev->features |= EMAC_FTR_440EP_PHY_CLK_FIX;
 		if (of_device_is_compatible(np, "ibm,emac-405ez")) {
-#ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL
+#ifdef CONFIG_IBM_EMAC_NO_FLOW_CTRL
 			dev->features |= EMAC_FTR_NO_FLOW_CONTROL_40x;
 #else
 			printk(KERN_ERR "%s: Flow control not disabled!\n",
@@ -2601,7 +2601,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
 
 	/* Enable TAH/ZMII/RGMII features as found */
 	if (dev->tah_ph != 0) {
-#ifdef CONFIG_IBM_NEW_EMAC_TAH
+#ifdef CONFIG_IBM_EMAC_TAH
 		dev->features |= EMAC_FTR_HAS_TAH;
 #else
 		printk(KERN_ERR "%s: TAH support not enabled !\n",
@@ -2611,7 +2611,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
 	}
 
 	if (dev->zmii_ph != 0) {
-#ifdef CONFIG_IBM_NEW_EMAC_ZMII
+#ifdef CONFIG_IBM_EMAC_ZMII
 		dev->features |= EMAC_FTR_HAS_ZMII;
 #else
 		printk(KERN_ERR "%s: ZMII support not enabled !\n",
@@ -2621,7 +2621,7 @@ static int __devinit emac_init_config(struct emac_instance *dev)
 	}
 
 	if (dev->rgmii_ph != 0) {
-#ifdef CONFIG_IBM_NEW_EMAC_RGMII
+#ifdef CONFIG_IBM_EMAC_RGMII
 		dev->features |= EMAC_FTR_HAS_RGMII;
 #else
 		printk(KERN_ERR "%s: RGMII support not enabled !\n",
diff --git a/drivers/net/ethernet/ibm/emac/core.h b/drivers/net/ethernet/ibm/emac/core.h
index 4fec084..fa3ec57 100644
--- a/drivers/net/ethernet/ibm/emac/core.h
+++ b/drivers/net/ethernet/ibm/emac/core.h
@@ -47,8 +47,8 @@
 #include "tah.h"
 #include "debug.h"
 
-#define NUM_TX_BUFF			CONFIG_IBM_NEW_EMAC_TXB
-#define NUM_RX_BUFF			CONFIG_IBM_NEW_EMAC_RXB
+#define NUM_TX_BUFF			CONFIG_IBM_EMAC_TXB
+#define NUM_RX_BUFF			CONFIG_IBM_EMAC_RXB
 
 /* Simple sanity check */
 #if NUM_TX_BUFF > 256 || NUM_RX_BUFF > 256
@@ -72,7 +72,7 @@ static inline int emac_rx_size(int mtu)
 #define EMAC_DMA_ALIGN(x)		ALIGN((x), dma_get_cache_alignment())
 
 #define EMAC_RX_SKB_HEADROOM		\
-	EMAC_DMA_ALIGN(CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM)
+	EMAC_DMA_ALIGN(CONFIG_IBM_EMAC_RX_SKB_HEADROOM)
 
 /* Size of RX skb for the given MTU */
 static inline int emac_rx_skb_size(int mtu)
@@ -335,21 +335,21 @@ enum {
 	EMAC_FTRS_ALWAYS	= 0,
 
 	EMAC_FTRS_POSSIBLE	=
-#ifdef CONFIG_IBM_NEW_EMAC_EMAC4
+#ifdef CONFIG_IBM_EMAC_EMAC4
 	    EMAC_FTR_EMAC4	| EMAC_FTR_EMAC4SYNC	|
 	    EMAC_FTR_HAS_NEW_STACR	|
 	    EMAC_FTR_STACR_OC_INVERT | EMAC_FTR_440GX_PHY_CLK_FIX |
 #endif
-#ifdef CONFIG_IBM_NEW_EMAC_TAH
+#ifdef CONFIG_IBM_EMAC_TAH
 	    EMAC_FTR_HAS_TAH	|
 #endif
-#ifdef CONFIG_IBM_NEW_EMAC_ZMII
+#ifdef CONFIG_IBM_EMAC_ZMII
 	    EMAC_FTR_HAS_ZMII	|
 #endif
-#ifdef CONFIG_IBM_NEW_EMAC_RGMII
+#ifdef CONFIG_IBM_EMAC_RGMII
 	    EMAC_FTR_HAS_RGMII	|
 #endif
-#ifdef CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL
+#ifdef CONFIG_IBM_EMAC_NO_FLOW_CTRL
 	    EMAC_FTR_NO_FLOW_CONTROL_40x |
 #endif
 	EMAC_FTR_460EX_PHY_CLK_FIX |
diff --git a/drivers/net/ethernet/ibm/emac/debug.h b/drivers/net/ethernet/ibm/emac/debug.h
index e596c77..90477fe 100644
--- a/drivers/net/ethernet/ibm/emac/debug.h
+++ b/drivers/net/ethernet/ibm/emac/debug.h
@@ -24,7 +24,7 @@
 
 #include "core.h"
 
-#if defined(CONFIG_IBM_NEW_EMAC_DEBUG)
+#if defined(CONFIG_IBM_EMAC_DEBUG)
 
 struct emac_instance;
 struct mal_instance;
diff --git a/drivers/net/ethernet/ibm/emac/mal.c b/drivers/net/ethernet/ibm/emac/mal.c
index d268f40..f3c50b9 100644
--- a/drivers/net/ethernet/ibm/emac/mal.c
+++ b/drivers/net/ethernet/ibm/emac/mal.c
@@ -577,8 +577,8 @@ static int __devinit mal_probe(struct platform_device *ofdev)
 	}
 
 	if (of_device_is_compatible(ofdev->dev.of_node, "ibm,mcmal-405ez")) {
-#if defined(CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT) && \
-		defined(CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR)
+#if defined(CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT) && \
+		defined(CONFIG_IBM_EMAC_MAL_COMMON_ERR)
 		mal->features |= (MAL_FTR_CLEAR_ICINTSTAT |
 				MAL_FTR_COMMON_ERR_INT);
 #else
@@ -616,7 +616,7 @@ static int __devinit mal_probe(struct platform_device *ofdev)
 	init_dummy_netdev(&mal->dummy_dev);
 
 	netif_napi_add(&mal->dummy_dev, &mal->napi, mal_poll,
-		       CONFIG_IBM_NEW_EMAC_POLL_WEIGHT);
+		       CONFIG_IBM_EMAC_POLL_WEIGHT);
 
 	/* Load power-on reset defaults */
 	mal_reset(mal);
diff --git a/drivers/net/ethernet/ibm/emac/mal.h b/drivers/net/ethernet/ibm/emac/mal.h
index 6608421..d06f985 100644
--- a/drivers/net/ethernet/ibm/emac/mal.h
+++ b/drivers/net/ethernet/ibm/emac/mal.h
@@ -245,10 +245,10 @@ enum {
 	MAL_FTRS_ALWAYS = 0,
 
 	MAL_FTRS_POSSIBLE =
-#ifdef CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT
+#ifdef CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT
 		MAL_FTR_CLEAR_ICINTSTAT |
 #endif
-#ifdef CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR
+#ifdef CONFIG_IBM_EMAC_MAL_COMMON_ERR
 		MAL_FTR_COMMON_ERR_INT |
 #endif
 		0,
diff --git a/drivers/net/ethernet/ibm/emac/rgmii.h b/drivers/net/ethernet/ibm/emac/rgmii.h
index d697990..9296b6c 100644
--- a/drivers/net/ethernet/ibm/emac/rgmii.h
+++ b/drivers/net/ethernet/ibm/emac/rgmii.h
@@ -54,7 +54,7 @@ struct rgmii_instance {
 	struct platform_device		*ofdev;
 };
 
-#ifdef CONFIG_IBM_NEW_EMAC_RGMII
+#ifdef CONFIG_IBM_EMAC_RGMII
 
 extern int rgmii_init(void);
 extern void rgmii_exit(void);
@@ -77,6 +77,6 @@ extern void *rgmii_dump_regs(struct platform_device *ofdev, void *buf);
 # define rgmii_set_speed(x,y,z)	do { } while(0)
 # define rgmii_get_regs_len(x)	0
 # define rgmii_dump_regs(x,buf)	(buf)
-#endif				/* !CONFIG_IBM_NEW_EMAC_RGMII */
+#endif				/* !CONFIG_IBM_EMAC_RGMII */
 
 #endif /* __IBM_NEWEMAC_RGMII_H */
diff --git a/drivers/net/ethernet/ibm/emac/tah.h b/drivers/net/ethernet/ibm/emac/tah.h
index 61dbeca..3437ab4 100644
--- a/drivers/net/ethernet/ibm/emac/tah.h
+++ b/drivers/net/ethernet/ibm/emac/tah.h
@@ -70,7 +70,7 @@ struct tah_instance {
 #define TAH_MR_DTFP		0x00100000
 #define TAH_MR_DIG		0x00080000
 
-#ifdef CONFIG_IBM_NEW_EMAC_TAH
+#ifdef CONFIG_IBM_EMAC_TAH
 
 extern int tah_init(void);
 extern void tah_exit(void);
@@ -90,6 +90,6 @@ extern void *tah_dump_regs(struct platform_device *ofdev, void *buf);
 # define tah_get_regs_len(x)	0
 # define tah_dump_regs(x,buf)	(buf)
 
-#endif				/* !CONFIG_IBM_NEW_EMAC_TAH */
+#endif				/* !CONFIG_IBM_EMAC_TAH */
 
 #endif /* __IBM_NEWEMAC_TAH_H */
diff --git a/drivers/net/ethernet/ibm/emac/zmii.h b/drivers/net/ethernet/ibm/emac/zmii.h
index 1333fa2..ceaed82 100644
--- a/drivers/net/ethernet/ibm/emac/zmii.h
+++ b/drivers/net/ethernet/ibm/emac/zmii.h
@@ -51,7 +51,7 @@ struct zmii_instance {
 	struct platform_device		*ofdev;
 };
 
-#ifdef CONFIG_IBM_NEW_EMAC_ZMII
+#ifdef CONFIG_IBM_EMAC_ZMII
 
 extern int zmii_init(void);
 extern void zmii_exit(void);
@@ -73,6 +73,6 @@ extern void *zmii_dump_regs(struct platform_device *ofdev, void *buf);
 # define zmii_set_speed(x,y,z)	do { } while(0)
 # define zmii_get_regs_len(x)	0
 # define zmii_dump_regs(x,buf)	(buf)
-#endif				/* !CONFIG_IBM_NEW_EMAC_ZMII */
+#endif				/* !CONFIG_IBM_EMAC_ZMII */
 
 #endif /* __IBM_NEWEMAC_ZMII_H */
-- 
1.7.6


^ permalink raw reply related

* [patch net-2.6] forcedeth: call vlan_mode only if hw supports vlans
From: Jiri Pirko @ 2011-08-18  6:37 UTC (permalink / raw)
  To: netdev; +Cc: davem, mirqus, mingo, torvalds, akpm

If hw does not support vlans, dont call nv_vlan_mode because it has no point.
I believe that this should fix issues on older non-vlan supportive
chips (like Ingo has).

Reported-ty: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
---
 drivers/net/forcedeth.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index e55df30..6d5fbd4 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -5615,7 +5615,8 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
 		goto out_error;
 	}
 
-	nv_vlan_mode(dev, dev->features);
+	if (id->driver_data & DEV_HAS_VLAN)
+		nv_vlan_mode(dev, dev->features);
 
 	netif_carrier_off(dev);
 
-- 
1.7.6


^ permalink raw reply related

* Re: [patch net-2.6] forcedeth: call vlan_mode only if hw supports vlans
From: David Miller @ 2011-08-18  6:50 UTC (permalink / raw)
  To: jpirko; +Cc: netdev, mirqus, mingo, torvalds, akpm
In-Reply-To: <1313649471-31555-1-git-send-email-jpirko@redhat.com>

From: Jiri Pirko <jpirko@redhat.com>
Date: Thu, 18 Aug 2011 08:37:51 +0200

> If hw does not support vlans, dont call nv_vlan_mode because it has no point.
> I believe that this should fix issues on older non-vlan supportive
> chips (like Ingo has).
> 
> Reported-ty: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH] fix IBM EMAC driver after rename.
From: Oliver Hartkopp @ 2011-08-18  6:50 UTC (permalink / raw)
  To: Tony Breeds; +Cc: Netdev List, David Miller, Jeff Kirsher
In-Reply-To: <20110818061354.GD19739@ozlabs.org>

On 18.08.2011 08:13, Tony Breeds wrote:

> In commit 9aa3283595451ca093500ff0977b106e1f465586 (ehea/ibm*: Move the
> IBM drivers) the IBM_NEW_EMAC* were renames to IBM_EMAC*
> 
> The conversion was incomplete so that even if the driver was added to
> the .config it wasn't built, but there were no errors)
> 
> This should fix those omissions.
> 


(..)


What about renaming of newemac -> emac in this part of the Makefile?

> diff --git a/drivers/net/ethernet/ibm/emac/Makefile b/drivers/net/ethernet/ibm/emac/Makefile
> index 0b5c995..ed6470c 100644
> --- a/drivers/net/ethernet/ibm/emac/Makefile
> +++ b/drivers/net/ethernet/ibm/emac/Makefile
> @@ -2,10 +2,10 @@
>  # Makefile for the PowerPC 4xx on-chip ethernet driver
>  #
>  
> -obj-$(CONFIG_IBM_NEW_EMAC) += ibm_newemac.o
> +obj-$(CONFIG_IBM_EMAC) += ibm_newemac.o


here s/ibm_newemac.o/ibm_emac.o/

>  
>  ibm_newemac-y := mal.o core.o phy.o
> -ibm_newemac-$(CONFIG_IBM_NEW_EMAC_ZMII) += zmii.o
> -ibm_newemac-$(CONFIG_IBM_NEW_EMAC_RGMII) += rgmii.o
> -ibm_newemac-$(CONFIG_IBM_NEW_EMAC_TAH) += tah.o
> -ibm_newemac-$(CONFIG_IBM_NEW_EMAC_DEBUG) += debug.o
> +ibm_newemac-$(CONFIG_IBM_EMAC_ZMII) += zmii.o
> +ibm_newemac-$(CONFIG_IBM_EMAC_RGMII) += rgmii.o
> +ibm_newemac-$(CONFIG_IBM_EMAC_TAH) += tah.o
> +ibm_newemac-$(CONFIG_IBM_EMAC_DEBUG) += debug.o


and here s/ibm_newemac-/ibm_emac-/ ???



Regards,
Oliver

^ permalink raw reply

* Re: [PATCH] fix IBM EMAC driver after rename.
From: David Miller @ 2011-08-18  6:49 UTC (permalink / raw)
  To: tony; +Cc: netdev, jeffrey.t.kirsher
In-Reply-To: <20110818061354.GD19739@ozlabs.org>

From: Tony Breeds <tony@bakeyournoodle.com>
Date: Thu, 18 Aug 2011 16:13:55 +1000

> In commit 9aa3283595451ca093500ff0977b106e1f465586 (ehea/ibm*: Move the
> IBM drivers) the IBM_NEW_EMAC* were renames to IBM_EMAC*
> 
> The conversion was incomplete so that even if the driver was added to
> the .config it wasn't built, but there were no errors)
> 
> This should fix those omissions.
> 
> Tested on a canyondlands board.

You also need to select the dependencies, such as "ETHERNET" for this
to be correct.

^ permalink raw reply

* protect raw sockets
From: Naveen B N (nbn) @ 2011-08-18  8:15 UTC (permalink / raw)
  To: netdev

Hi All,
Is there a way to enforce IPsec protection for packets sent from
application using RAW_SOCKET.

My analysis is to add a code at the raw_sendmsg() & raw_v4_input() to
call xfrm_policy_check() ..
Is it a good method to proceed or is there a better and smart way to
achieve this .

Hoping for some guide lines ..

Thanks in advance ..

Thanks and Regards
Naveen

^ permalink raw reply

* Re: protect raw sockets
From: krbmit siso @ 2011-08-18  8:28 UTC (permalink / raw)
  To: netdev, ipsec-tools-users, ipsec-tools-devel, ikev2-devel,
	Timo Teräs
In-Reply-To: <A2354B6A9F807641B21EEABD666ECEEA011AFCE2@XMB-BGL-416.cisco.com>

Hi Timo,

Thanks for your reply .
Yes i did explore this yesterday and i was successful in sending the IKE
messages unprotected after using the below code only for UDP sockets.

int setsockopt_bypass(int fd, int family)
{
        struct sadb_x_policy policy;
        int level, optname;

        switch (family) {
                case AF_INET:
                        level = IPPROTO_IP;
                        optname = IP_IPSEC_POLICY;
                        break;
                case AF_INET6:
                        level = IPPROTO_IPV6;
                        optname = IPV6_IPSEC_POLICY;
                        break;
                default:
                        return -1;
        }

        memset(&policy, 0, sizeof(policy));
        policy.sadb_x_policy_len = PFKEY_UNIT64(sizeof(policy));
        policy.sadb_x_policy_exttype = SADB_X_EXT_POLICY;
        policy.sadb_x_policy_type = IPSEC_POLICY_BYPASS;
        policy.sadb_x_policy_dir = IPSEC_DIR_INBOUND;
        if (setsockopt(fd, level, optname, &policy, sizeof(policy)) == -1) {
                return -1;
        }
        policy.sadb_x_policy_dir = IPSEC_DIR_OUTBOUND;
        if (setsockopt(fd, level, optname, &policy, sizeof(policy)) == -1) {
                return -1;
        }
        return 0;
}

But i did try the same on RAW socket by setting the policy has
policy.sadb_x_policy_type = IPSEC_POLICY_ENTRUST|IPSEC_POLICY_IPSEC;
But the packet is going unprotected .
Please show some light on how to protect RAW packets if there is a Policy
matching in the SPD saying it need to be protected.
I have checked the posting there is no help on this isues , could
you please give some options , if it is possible from Application.


Thanks and Regards
Naveen

On Thu, Aug 18, 2011 at 1:45 PM, Naveen B N (nbn) <nbn@cisco.com> wrote:
> Hi All,
> Is there a way to enforce IPsec protection for packets sent from
> application using RAW_SOCKET.
>
> My analysis is to add a code at the raw_sendmsg() & raw_v4_input() to
> call xfrm_policy_check() ..
> Is it a good method to proceed or is there a better and smart way to
> achieve this .
>
> Hoping for some guide lines ..
>
> Thanks in advance ..
>
> Thanks and Regards
> Naveen
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply

* Re: [Bugme-new] [Bug 41312] New: Regression: some web services (e.g. Dropbox, Amazon Cloud Reader) stops working in 3.1-rc2
From: Michel Alexandre Salim @ 2011-08-18 10:26 UTC (permalink / raw)
  To: Andrew Morton; +Cc: netdev, bugme-daemon
In-Reply-To: <20110817134106.015135cd.akpm@linux-foundation.org>

On Wed, Aug 17, 2011 at 10:41 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
>

Replying via email; please let me know if there's any further tests I
can do. I forgot to add the system details: tested on

- Fedora 15 x86_64, wireless network (ath9k)
- Fedora 15 x86_64, wired network    (e1000e)


> On Wed, 17 Aug 2011 20:17:05 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=41312
>>
>>            Summary: Regression: some web services (e.g. Dropbox, Amazon
>>                     Cloud Reader) stops working in 3.1-rc2
>>            Product: Networking
>>            Version: 2.5
>>     Kernel Version: 3.1-rc2
>>           Platform: All
>>         OS/Version: Linux
>>               Tree: Mainline
>>             Status: NEW
>>           Severity: normal
>>           Priority: P1
>>          Component: IPV4
>>         AssignedTo: shemminger@linux-foundation.org
>>         ReportedBy: salimma@fedoraproject.org
>>         Regression: Yes
>>
>>
>> Created an attachment (id=69102)
>>  --> (https://bugzilla.kernel.org/attachment.cgi?id=69102)
>> (working) config for kernel 3.0
>>
>> Dropbox and Amazon Cloud Reader works just fine on kernel 3.0, but the former
>> does not work on 3.1-rc1 and 3.1-rc2, and the latter does not work on 3.1-rc2
>> (I no longer have a copy of the 3.1-rc1 build I did).
>>
>> With Dropbox, ps reports that the daemon process is in an uninterruptible
>> state, and it cannot be killed (even with kill -9). Setting SELinux to
>> permissive does not affect things (and Dropbox works with SELinux set to
>> enforcing with kernel 3.0).
>>
>> With Cloud Reader, on Chrome, it does not display any book -- I perpetually get
>> the "refreshing" icon.
>>
>> Will attach kernel configurations (I keep the 3.0 and 3.1-rc2 configs as
>> similar as possible, by using 'make oldconfig' on 3.0 with 3.1-rc2's .config.
>>
>> Reported on Dropbox's forum: http://forums.dropbox.com/topic.php?id=43140
>>
>
>



-- 
Michel Alexandre Salim
Fedora Project Contributor: http://fedoraproject.org/

Email:  salimma@fedoraproject.org  | GPG key ID: 78884778
Jabber: hircus@jabber.ccc.de       | IRC: hircus@irc.freenode.net

()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

^ permalink raw reply

* [PATCH NEXT 1/1] MAINTAINERS: change netxen_nic maintainers
From: amit.salecha @ 2011-08-18 10:44 UTC (permalink / raw)
  To: davem
  Cc: netdev, ameen.rahman, Amit Kumar Salecha, Sony Chacko,
	Rajesh Borundia

From: Amit Kumar Salecha <amit.salecha@qlogic.com>

I will no longer maintain netxen_nic driver.
Sony Chacko and Rajesh Borundia are taking over.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Cc: Sony Chacko <sony.chacko@qlogic.com>
Cc: Rajesh Borundia <rajesh.borundia@qlogic.com>
---
 MAINTAINERS |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d374c6f..79edb1c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4495,7 +4495,8 @@ F:	include/linux/if_*
 F:	include/linux/*device.h
 
 NETXEN (1/10) GbE SUPPORT
-M:	Amit Kumar Salecha <amit.salecha@qlogic.com>
+M:	Sony Chacko <sony.chacko@qlogic.com>
+M:	Rajesh Borundia <rajesh.borundia@qlogic.com>
 L:	netdev@vger.kernel.org
 W:	http://www.qlogic.com
 S:	Supported
-- 
1.7.3.3



^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox