Netdev List
 help / color / mirror / Atom feed
* [PATCH] ip: correctly report 802.15.4 link type
From: Jan Engelhardt @ 2010-07-25 20:28 UTC (permalink / raw)
  To: stephen.hemminger; +Cc: netdev
In-Reply-To: <1280089683-12020-1-git-send-email-jengelh@medozas.de>

Up until now, the "hardwpan" devices were displayed as link/[804].

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
---
 lib/ll_types.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/lib/ll_types.c b/lib/ll_types.c
index 846cdb0..1cc46b6 100644
--- a/lib/ll_types.c
+++ b/lib/ll_types.c
@@ -125,6 +125,9 @@ __PF(IEEE80211_PRISM,ieee802.11/prism)
 #ifdef ARPHRD_IEEE80211_RADIOTAP
 __PF(IEEE80211_RADIOTAP,ieee802.11/radiotap)
 #endif
+#ifdef ARPHRD_IEEE802154
+__PF(IEEE802154, ieee802.15.4)
+#endif
 #ifdef ARPHRD_NONE
 __PF(NONE, none)
 #endif
-- 
1.7.1


^ permalink raw reply related

* [PATCH] ks8842: Support 100Mbps when accessed via timberdale
From: Richard Röjfors @ 2010-07-25 20:55 UTC (permalink / raw)
  To: netdev; +Cc: davem

This patch removes the code which disabled 100Mbps advertising when
the ks8842 is accessed via timberdale.

At higher speed it's good to be nice to the internal state machine
in timberdale, by acking interrupts, a write to it's interrupt
ack register (IAR).

The flow control setting is removed from TX and RX control
registers. Full duplex flow control was not enabled in SGCR3,
but we tend to get better performance without flow control.

diff --git a/drivers/net/ks8842.c b/drivers/net/ks8842.c
index 634dad1..9cbf9af 100644
--- a/drivers/net/ks8842.c
+++ b/drivers/net/ks8842.c
@@ -34,7 +34,12 @@
 #define DRV_NAME "ks8842"
 
 /* Timberdale specific Registers */
-#define REG_TIMB_RST	0x1c
+#define REG_TIMB_RST		0x1c
+#define REG_TIMB_FIFO		0x20
+#define REG_TIMB_ISR		0x24
+#define REG_TIMB_IER		0x28
+#define REG_TIMB_IAR		0x2C
+#define REQ_TIMB_DMA_RESUME	0x30
 
 /* KS8842 registers */
 
@@ -256,11 +261,8 @@ static void ks8842_reset_hw(struct ks8842_adapter *adapter)
 	/* Enable QMU Transmit flow control / transmit padding / Transmit CRC */
 	ks8842_write16(adapter, 16, 0x000E, REG_TXCR);
 
-	/* enable the receiver, uni + multi + broadcast + flow ctrl
-		+ crc strip */
-	ks8842_write16(adapter, 16, 0x8 | 0x20 | 0x40 | 0x80 | 0x400,
-		REG_RXCR);
-
+	/* enable the receiver, uni + multi + broadcast + crc strip */
+	ks8842_write16(adapter, 16, 0x8 | 0x20 | 0x40 | 0x80, REG_RXCR);
 	/* TX frame pointer autoincrement */
 	ks8842_write16(adapter, 17, 0x4000, REG_TXFDPR);
 
@@ -276,16 +278,12 @@ static void ks8842_reset_hw(struct ks8842_adapter *adapter)
 	/* enable no excessive collison drop */
 	ks8842_enable_bits(adapter, 32, 1 << 3, REG_SGCR2);
 
-	/* Enable port 1 force flow control / back pressure / transmit / recv */
-	ks8842_write16(adapter, 48, 0x1E07, REG_P1CR2);
+	/* Enable port 1 / back pressure / transmit / recv */
+	ks8842_write16(adapter, 48, 0xE07, REG_P1CR2);
 
 	/* restart port auto-negotiation */
 	ks8842_enable_bits(adapter, 49, 1 << 13, REG_P1CR4);
 
-	if (!(adapter->conf_flags & MICREL_KS884X))
-		/* only advertise 10Mbps */
-		ks8842_clear_bits(adapter, 49, 3 << 2, REG_P1CR4);
-
 	/* Enable the transmitter */
 	ks8842_enable_tx(adapter);
 
@@ -543,6 +541,10 @@ void ks8842_tasklet(unsigned long arg)
 	/* Ack */
 	ks8842_write16(adapter, 18, isr, REG_ISR);
 
+	if (!(adapter->conf_flags & MICREL_KS884X))
+		/* Ack in the timberdale IP as well */
+		iowrite32(0x1, adapter->hw_addr + REG_TIMB_IAR);
+
 	if (!netif_running(netdev))
 		return;
 


^ permalink raw reply related

* linux and 2 LAN-cards ?
From: AgentC @ 2010-07-25 22:36 UTC (permalink / raw)
  To: netdev

Hi,

I'm a linux newbie and have some configuration-probs with the network.
could anyone give some hints to get it working?

normally I used mainboard internal LAN for modemrouter / webaccess only.
out of some configurationproblems I had to remove my additional netgear-
router which was used as hub for my additional terminal-workstations
in my flat. but now it is impossible to do that anymore cause my
webserver will not work when the netgear is between the DSL-modemrouter
and my server. so I decided to try it out with a second LAN card (PCI)
where I tried to connect the netgear as hub.

but what happened was, that all outside access wasn't possible anymore
(for example ping google.de) but access to the dsl-modemrouter was 
possible. ping connection to the netgear was not possible.

what happened? have the both network adapters conflicts on the PCI-bus?
or is this a configuration problem within linux config ?

can anyone tell me what went wrong and how to fix that problem ?

sincerly,
Ralf M.





^ permalink raw reply

* Re: [PATCHv2 NEXT 1/2] qlcnic: fix loopback test
From: David Miller @ 2010-07-25 23:36 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman
In-Reply-To: <1280032338-7002-2-git-send-email-amit.salecha@qlogic.com>

From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Sat, 24 Jul 2010 21:32:17 -0700

> o Loopback not supported for virtual function.
> 
> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>

Applied.

^ permalink raw reply

* Re: [PATCHv2 NEXT 2/2] qlcnic: fix diag resource allocation
From: David Miller @ 2010-07-25 23:36 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman, sony.chacko
In-Reply-To: <1280032338-7002-3-git-send-email-amit.salecha@qlogic.com>

From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Sat, 24 Jul 2010 21:32:18 -0700

> From: Sony Chacko <sony.chacko@qlogic.com>
> 
> netif_device_attach missing from error path in qlcnic_diag_alloc_res
> 
> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com>
> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>

Applied.

^ permalink raw reply

* Re: [PATCH] 3c59x: Add ethtool WOL support
From: David Miller @ 2010-07-25 23:48 UTC (permalink / raw)
  To: bugzilla, andrew; +Cc: akpm, netdev, linux-kernel
In-Reply-To: <201007250524.18911.andrew@beldisplaytech.com>

From: "Andrew O. Shadoura" <andrew@beldisplaytech.com>
Date: Sun, 25 Jul 2010 05:24:17 +0300

> This patch adds wrappers for ethtool to get or set wake-on-LAN 
> setting without re-inserting the kernel module.
> 
> Signed-off-by: Andrew O. Shadoura <andrew@beldisplaytech.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH] ks8842: Support 100Mbps when accessed via timberdale
From: David Miller @ 2010-07-26  0:03 UTC (permalink / raw)
  To: richard.rojfors; +Cc: netdev
In-Reply-To: <1280091327.17191.8.camel@debian>

From: Richard Röjfors <richard.rojfors@pelagicore.com>
Date: Sun, 25 Jul 2010 22:55:27 +0200

> The flow control setting is removed from TX and RX control
> registers. Full duplex flow control was not enabled in SGCR3,
> but we tend to get better performance without flow control.

Flow control is not just for you, it's for the other end too.

If you're getting bad flow control enabled performance then
either:

1) the flow control is configured to kick in too late or
   too soon

or

2) your ring sizes need adjustment

I'm not applying this patch, flow control is important and
should be enabled by default whenever possible.  Please
instead go try and figure out if flow control trigger
points or RX/TX ring sizes need adjustment instead.

Thanks.

^ permalink raw reply

* Re: [PATCH 2.6.35-rc1] net-next: Fix an overflow bug in vmxnet3 Tx descriptor
From: David Miller @ 2010-07-26  0:06 UTC (permalink / raw)
  To: bhavesh; +Cc: netdev, linux-kernel
In-Reply-To: <20100725004329.GB6680@bhavesh-lx1.eng.vmware.com>

From: Bhavesh Davda <bhavesh@vmware.com>
Date: Sat, 24 Jul 2010 17:43:29 -0700

> ---

If you put the "---" there are the beginning of your message,
the whole commit message is discarded by GIT.

I said you should put "---" at the end of the commit message,
when you want to add more side commentary that should not appear
in the commit message but is for people in this thread to read.

I fixed this up when adding your patch, but I have no idea why
you did this.  Please don't do it again.

> Fix an overflow bug in vmxnet3 Tx descriptor
> 
> This patch fixes a bug where a 16K buffer on a Tx descriptor was overflowing
> into the 'gen' bit in the descriptor thereby corrupting the descriptor and
> stalling the transmit ring.
> 
> Signed-off-by: Bhavesh Davda <bhavesh@vmware.com>
> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com>
> Signed-off-by: Matthew Delco <delcoM@vmware.com>
> Signed-off-by: Ronghua Zhang <ronghua@vmware.com>

Applied, thanks.

^ permalink raw reply

* RE: [REGRESSION] e1000e stopped working [MANUALLY BISECTED]
From: Maxim Levitsky @ 2010-07-26  0:25 UTC (permalink / raw)
  To: Tantilov, Emil S
  Cc: Kirsher, Jeffrey T, netdev@vger.kernel.org, Allan, Bruce W,
	Pieper, Jeffrey E
In-Reply-To: <1279374897.8428.5.camel@localhost.localdomain>

On Sat, 2010-07-17 at 16:54 +0300, Maxim Levitsky wrote:
> On Fri, 2010-07-16 at 17:23 -0600, Tantilov, Emil S wrote:
> > Maxim Levitsky wrote:
> > > On Thu, 2010-07-15 at 22:09 +0300, Maxim Levitsky wrote:
> > >> On Thu, 2010-07-15 at 13:02 -0600, Tantilov, Emil S wrote:
> > >>> Maxim Levitsky wrote:
> > >>>> On Thu, 2010-07-15 at 02:33 +0300, Maxim Levitsky wrote:
> > >>>>> On Wed, 2010-07-14 at 16:56 -0600, Tantilov, Emil S wrote:
> > >>>>>> Maxim Levitsky wrote:
> > >>>>>>> On Mon, 2010-07-12 at 15:23 -0600, Tantilov, Emil S wrote:
> > >>>>>>>> Maxim Levitsky wrote:
> > >>>>>>>>> On Mon, 2010-07-05 at 12:58 +0300, Maxim Levitsky wrote:
> > >>>>>>>>>> On Mon, 2010-07-05 at 01:13 -0700, Jeff Kirsher wrote:
> > >>>>>>>>>>> On Sun, Jul 4, 2010 at 15:48, Maxim Levitsky
> > >>>>>>>>>>> <maximlevitsky@gmail.com> wrote:
> > >>>>>>>>>>>> Did few guesses, and now I see that reverting the below
> > >>>>>>>>>>>> commit fixes the problem. 
> > >>>>>>>>>>>> 
> > >>>>>>>>>>>> "e1000e: Fix/cleanup PHY reset code for ICHx/PCHx"
> > >>>>>>>>>>>> e98cac447cc1cc418dff1d610a5c79c4f2bdec7f.
> > >>>>>>>>>>>> 
> > >>>>>>>>>>>> 
> > >>>>>>>>>>>> Best regards,
> > >>>>>>>>>>>>        Maxim Levitsky
> > >>>>>>>>>>>> 
> > >>>>>>>>>>>> --
> > >>>>>>>>>>> 
> > >>>>>>>>>>> Can you give us till Tuesday to respond?  I know that there
> > >>>>>>>>>>> are some additional e1000e patches in my queue, which may
> > >>>>>>>>>>> resolve the issue, but this weekend the power is down to do
> > >>>>>>>>>>> some infrastructure upgrades which prevents us from doing
> > >>>>>>>>>>> any investigation.debugging until Tuesday.
> > >>>>>>>>>>> 
> > >>>>>>>>>> 
> > >>>>>>>>>> Sure.
> > >>>>>>>>>> 
> > >>>>>>>>>> Best regards,
> > >>>>>>>>>> 	Maxim Levitsky
> > >>>>>>>>>> 
> > >>>>>>>>> 
> > >>>>>>>>> Updates?
> > >>>>>>>> 
> > >>>>>>>> We are working on reproducing the issue. So far we have not
> > >>>>>>>> seen the problem when testing with net-next.
> > >>>>>>>> 
> > >>>>>>>> I asked in previous email about some additional info from
> > >>>>>>>> ethtool (-d, -e, -S) and kernel config. That would help us to
> > >>>>>>>> narrow it down. 
> > >>>>>>>> 
> > >>>>>>>> Thanks,
> > >>>>>>>> Emil
> > >>>>>>> I did send -e and -d output.
> > >>>>>> 
> > >>>>>> Sorry, looks like I lost the email with the attachements.
> > >>>>>> 
> > >>>>>> Could you provide the output of dmesg after the failure occurs?
> > >>>>>> 
> > >>>>>>> Since you probably want -S output during failure, I need to
> > >>>>>>> recompile kernel for that. I will do that soon.
> > >>>>>>> 
> > >>>>>>> 
> > >>>>>>> One question, in two weeks I hope 2.6.35 won't be released?
> > >>>>>>> If so, I will have enough free time then to narrow down this
> > >>>>>>> issue. 
> > >>>>>>> 
> > >>>>>>> Other solution, is to revert this commit.
> > >>>>>>> (I have never seen this problem with it reverted).
> > >>>>>> 
> > >>>>>> We have been running reboot tests on 2 separate systems with
> > >>>>>> recent net-next kernels using your config and so far no luck in
> > >>>>>> reproducing this issue. 
> > >>>>>> 
> > >>>>>> What is the make model of your system (or MB)?
> > >>>>> 
> > >>>>> the motherboard is Intel DG965RY.
> > >>>>> 
> > >>>>> However, I am using vanilla kernel.
> > >>>>> net-next might contain further fixes.
> > >>>>> 
> > >>>>> I see if net-next works here.
> > >>>> 
> > >>>> Yep, net-next works here.
> > >>>> 
> > >>>> 
> > >>>> I have the problem on vanilla kernel.
> > >>>> Last revision of it, I tested is 2.6.35-rc4 exactly
> > >>>> (815c4163b6c8ebf8152f42b0a5fd015cfdcedc78)
> > >>>> 
> > >>>> 
> > >>>> Maybe vanilla git master works, I test it too soon.
> > >>> 
> > >>> Thanks for the information! Good to know that this issue does not
> > >>> exist in the latest branch. 
> > >>> 
> > >>> Have you by any chance tested a stable branch (2.6.34.x)?
> > >> 
> > >> I only did test plain 2.6.34 (v2.6.34)
> > > And forgot to add, that it did work.
> > > 
> > >> 
> > >> Also I repeat that revert of e98cac447cc1cc418dff1d610a5c79c4f2bdec7f
> > >> (e1000e: Fix/cleanup PHY reset code for ICHx/PCHx) fixes the bug on
> > >> vanilla kernel. 
> > >> 
> > >> Also I just pulled latest vanilla git, and I according to diffstat I
> > >> see no changes in e1000e, so its likely that bug remains there.
> > >> I will test that soon.
> > > Tested, broken as expected.
> > 
> > That makes sense. Unfortunately we are still not able to reproduce even on recent pull from Linus tree.
> > 
> > If you want - you can look at the patches for e1000e in net-next and start applying those to your tree until the issue is resolved.
> > 
> That exactly what I will do soon.
> 
> 
> Also I can narrow down the problem by reverting the commit partially.
> 
> After one week, I will have enough free time to do all the thing like
> above. Now I have none.
> 
> 
> > I will keep trying it here, but none of the systems we have exhibit the issue you described, so the bug could be exposed by something in your system/config.
> I also think so. Otherwise, we would see more bug-reports.
> 
> You probably don't need to try anymore and reproduce that issue, because
> of that.
> 


This commit, present in net-next, solves the problem:

commit 1286950690f0f82ffa504e1e149ee3fdb4c51478
Author: Bruce Allan <bruce.w.allan@intel.com>
Date:   Mon Jul 26 03:19:38 2010 +0300

    e1000e: cleanup e1000_sw_lcd_config_ich8lan()
    
    Do not acquire and release the PHY unnecessarily for parts that return
    from this workaround without actually accessing the PHY registers.
    
    Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
    Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>




Also, the above patch is part of whole series of patches with scary descriptions (that is these fix bugs).
If I were you I would send them to Linus for 2.6.35 inclusion too.

Best regards,
	Maxim Levitsky





^ permalink raw reply

* Re: Another oops + repost
From: Martín Ferrari @ 2010-07-26  3:21 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: netdev, 577640
In-Reply-To: <m1zkxjwjq9.fsf@fess.ebiederm.org>

Hi,

On Thu, Jul 22, 2010 at 18:43, Eric W. Biederman <ebiederm@xmission.com> wrote:

>> First of all, I would like to know if anybody was able to fix this
>> problem  that got kinda lost in the thread:
>
> I can't reproduce this on 2.6.35-rc1+
>
> Can you please test a 2.6.35-rc version?  If you can still reproduce
> it there can you send me your .config?  Otherwise I expect my last
> round of changes to sysfs fixed whatever was the underlying problem.

I just download and compiled rc6, and all of these problems seem to be
solved. Thanks a lot!

-- 
Martín Ferrari

^ permalink raw reply

* Re: [PATCH] forcedeth: Fix different hardware statistics versions.
From: David Miller @ 2010-07-26  4:54 UTC (permalink / raw)
  To: mditto; +Cc: netdev, adobriyan, shemminger, ben, stas, linux-kernel
In-Reply-To: <20100722220252.E46C7182B00@starthinker.mtv.corp.google.com>

From: mditto@google.com (Mike Ditto)
Date: Thu, 22 Jul 2010 15:02:52 -0700 (PDT)

> The macros for the values of the bit field describing the four
> different versions of statistics supported by different hardware
> variants were being misused.  Where the code was trying to test if the
> hardware implements V3, it was actually testing whether it implements
> any of V1, V2, or V3, causing the driver to report statistics that
> don't really exist in the hardware, with bogus values.
> 
> Signed-off-by: Mike Ditto <mditto@google.com>

Applied to net-next-2.6, thanks.

^ permalink raw reply

* Re: [PATCH net-next-2.6] netlink: netlink_recvmsg() fix
From: David Miller @ 2010-07-26  4:55 UTC (permalink / raw)
  To: eric.dumazet; +Cc: johannes, netdev
In-Reply-To: <1279701835.2452.17.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 21 Jul 2010 10:43:55 +0200

> [PATCH net-next-2.6 v3] netlink: netlink_recvmsg() fix
> 
> commit 1dacc76d0014 
> (net/compat/wext: send different messages to compat tasks)
> introduced a race condition on netlink, in case MSG_PEEK is used.
> 
> An skb given by skb_recv_datagram() might be shared, we must copy it
> before any modification, or risk fatal corruption.
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied, thanks Eric.

^ permalink raw reply

* Re: [patch] usbnet: fix 100% CPU use on suspended device
From: David Miller @ 2010-07-26  4:57 UTC (permalink / raw)
  To: ellyjones-hpIqsD4AKlfQT0dZR+AlfA
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, linux-usb-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <AANLkTi=pSkOuiFGAK4inPdm-KbLuVrz51e2T6eV51ts0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

From: Elly Jones <ellyjones-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Date: Wed, 21 Jul 2010 14:51:48 -0400

> Subject: [patch] usbnet: fix 100% CPU use on suspended device
> From: Elly Jones <ellyjones-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
> 
> This patch causes the usbnet module not to attempt to submit URBs to the device
> if the device is not ready to accept them. This fixes a misbehavior trigged by
> the Qualcomm Gobi driver (released under GPL through their Code Aurora
> initiative) which causes the usbnet core to consume 100% of CPU attempting and
> failing to submit URBs. This patch is against Linus's 2.6 repo commit
> a9f7f2e74ae0e6a801a2433dc8e9124d73da0cb4.
> Signed-off-by: Elizabeth Jones <ellyjones-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>

If the Qualcomm Gobi driver is the only one where this happens, maybe the
real problem is in that driver.

I'm not applying this until a USB person looks more deeply into this.

> ---
> diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
> index 81c76ad..df7e72e 100644
> --- a/drivers/net/usb/usbnet.c
> +++ b/drivers/net/usb/usbnet.c
> @@ -1172,6 +1172,7 @@ static void usbnet_bh (unsigned long param)
>  	// or are we maybe short a few urbs?
>  	} else if (netif_running (dev->net) &&
>  		   netif_device_present (dev->net) &&
> +		   dev->udev->can_submit &&
>  		   !timer_pending (&dev->delay) &&
>  		   !test_bit (EVENT_RX_HALT, &dev->flags)) {
>  		int	temp = dev->rxq.qlen;
> --
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [net 0/2] Clean up netfilter cache on xmit-to-self.
From: David Miller @ 2010-07-26  4:59 UTC (permalink / raw)
  To: greearb; +Cc: netdev
In-Reply-To: <1279828488-17800-1-git-send-email-greearb@candelatech.com>

From: Ben Greear <greearb@candelatech.com>
Date: Thu, 22 Jul 2010 12:54:46 -0700

> These patches are against 2.6.34.1.  The first one may be
> worth submitting to stable.  The second one is less critical
> and should probably just go in the development tree.

I'll apply the first one to net-2.6 and queue up for -stable

The second one will go to net-next-2.6

Thanks.

^ permalink raw reply

* Re: [net 0/2] Clean up netfilter cache on xmit-to-self.
From: David Miller @ 2010-07-26  5:01 UTC (permalink / raw)
  To: greearb; +Cc: netdev
In-Reply-To: <20100725.215912.39197141.davem@davemloft.net>

From: David Miller <davem@davemloft.net>
Date: Sun, 25 Jul 2010 21:59:12 -0700 (PDT)

> From: Ben Greear <greearb@candelatech.com>
> Date: Thu, 22 Jul 2010 12:54:46 -0700
> 
>> These patches are against 2.6.34.1.  The first one may be
>> worth submitting to stable.  The second one is less critical
>> and should probably just go in the development tree.
> 
> I'll apply the first one to net-2.6 and queue up for -stable
> 
> The second one will go to net-next-2.6

Actually it appears net-next-2.6 already has this change.

^ permalink raw reply

* Re: [PATCH net-next] drivers/net/qla3xxx.c: Update logging message style
From: David Miller @ 2010-07-26  5:03 UTC (permalink / raw)
  To: joe; +Cc: ron.mercer, linux-driver, netdev, linux-kernel
In-Reply-To: <4057a685dc2c277e9e3137c4f0e01eeb389971a4.1279837596.git.joe@perches.com>

From: Joe Perches <joe@perches.com>
Date: Thu, 22 Jul 2010 15:33:31 -0700

> Use pr_<level>
> Use netdev_<level>
> Use netif_<level>
> Remove #define PFX
> Improve a couple of loops to avoid deep indentation.
> 
> Compile tested only
> 
> $ size drivers/net/qla3xxx.o.*
>    text    data     bss     dec     hex filename
>   51603     212   13864   65679   1008f drivers/net/qla3xxx.o.old
>   50413     212   13864   64489    fbe9 drivers/net/qla3xxx.o.new
> 
> Signed-off-by: Joe Perches <joe@perches.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next] drivers/net/qla3xxx.c: Checkpatch cleanups
From: David Miller @ 2010-07-26  5:03 UTC (permalink / raw)
  To: joe; +Cc: ron.mercer, linux-driver, netdev, linux-kernel
In-Reply-To: <118c687d97762e235ba61733ef1610f6443ae1eb.1279848705.git.joe@perches.com>

From: Joe Perches <joe@perches.com>
Date: Thu, 22 Jul 2010 18:36:17 -0700

> Remove typedefs
> Indentation and spacing
> Use a temporary for a very long pointer variable
> More 80 column compatible
> Convert a switch to if/else if
> 
> Compile tested only, depends on patch "Update logging message style"
> 
> (old)
> $ scripts/checkpatch.pl -f drivers/net/qla3xxx.c | grep "^total:"
> total: 209 errors, 82 warnings, 3995 lines checked
> 
> (new)
> $ scripts/checkpatch.pl -f drivers/net/qla3xxx.c | grep "^total:"
> total: 2 errors, 0 warnings, 3970 lines checked
> 
> $ size drivers/net/qla3xxx.o.*
>    text	   data	    bss	    dec	    hex	filename
>   50413     212   13864   64489    fbe9 drivers/net/qla3xxx.o.old
>   49959	    212	  13728	  63899	   f99b	drivers/net/qla3xxx.o.new
> 
> Signed-off-by: Joe Perches <joe@perches.com>

Also applied, thanks Joe.

^ permalink raw reply

* [PATCH] genetlink: cleanup code according to CodingStyle
From: Changli Gao @ 2010-07-26  6:46 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Changli Gao

If the function is exported, the EXPORT* macro for it should follow immediately
after the closing function brace line.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
----
 net/netlink/genetlink.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index aa4308a..e09e17a 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -303,6 +303,7 @@ int genl_register_ops(struct genl_family *family, struct genl_ops *ops)
 errout:
 	return err;
 }
+EXPORT_SYMBOL(genl_register_ops);
 
 /**
  * genl_unregister_ops - unregister generic netlink operations
@@ -337,6 +338,7 @@ int genl_unregister_ops(struct genl_family *family, struct genl_ops *ops)
 
 	return -ENOENT;
 }
+EXPORT_SYMBOL(genl_unregister_ops);
 
 /**
  * genl_register_family - register a generic netlink family
@@ -405,6 +407,7 @@ errout_locked:
 errout:
 	return err;
 }
+EXPORT_SYMBOL(genl_register_family);
 
 /**
  * genl_register_family_with_ops - register a generic netlink family
@@ -485,6 +488,7 @@ int genl_unregister_family(struct genl_family *family)
 
 	return -ENOENT;
 }
+EXPORT_SYMBOL(genl_unregister_family);
 
 static int genl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
 {
@@ -899,11 +903,6 @@ problem:
 
 subsys_initcall(genl_init);
 
-EXPORT_SYMBOL(genl_register_ops);
-EXPORT_SYMBOL(genl_unregister_ops);
-EXPORT_SYMBOL(genl_register_family);
-EXPORT_SYMBOL(genl_unregister_family);
-
 static int genlmsg_mcast(struct sk_buff *skb, u32 pid, unsigned long group,
 			 gfp_t flags)
 {

^ permalink raw reply related

* [patch] caif: handle snprintf() return
From: Dan Carpenter @ 2010-07-26  7:23 UTC (permalink / raw)
  To: Sjur Braendeland; +Cc: David S. Miller, netdev, kernel-janitors

snprintf() returns the number of bytes that would have been written.  It
can be larger than the size of the buffer.  The current code won't
overflow, but people cut and paste this stuff so lets do it right and
also make the static checkers happy.

Signed-off-by: Dan Carpenter <error27@gmail.com>

diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c
index 6c94803..f5058ff 100644
--- a/drivers/net/caif/caif_spi.c
+++ b/drivers/net/caif/caif_spi.c
@@ -165,6 +165,9 @@ static ssize_t dbgfs_state(struct file *file, char __user *user_buf,
 	len += snprintf((buf + len), (DEBUGFS_BUF_SIZE - len),
 			"Next RX len: %d\n", cfspi->rx_npck_len);
 
+	if (len > DEBUGFS_BUF_SIZE)
+		len = DEBUGFS_BUF_SIZE;
+
 	size = simple_read_from_buffer(user_buf, count, ppos, buf, len);
 	kfree(buf);
 

^ permalink raw reply related

* Re: Splice status
From: Changli Gao @ 2010-07-26  7:41 UTC (permalink / raw)
  To: Ofer Heifetz
  Cc: Eric Dumazet, Jens Axboe, netdev@vger.kernel.org, Nick Piggin
In-Reply-To: <EE71107DF0D1F24FA2D95041E64AB9E80114797BC8AB@IL-MB01.marvell.com>

On Sun, Jul 25, 2010 at 10:47 PM, Ofer Heifetz <oferh@marvell.com> wrote:
> Hi Eric,
>
> Still trying to get better performance with splice, I noticed that when using splice there are twice the file size memcpy (placed a counter in memcpy), I verified it via samba file transfer and splice-fromnet/out.
>
> I also used the splice-fromnet/out and using ftrace I did notice that data is copied twice using these routines: skb_splice_bits, pipe_to_file.
>
> I thought that the main goal of splice is to refrain from one copy when moving data from network to file descriptor.
>
> If there are the same number of memcpy and context switches and in samba copy additional vfs overhead it makes sense that splice deteriates the samba overall write performance.
>

The support for SPLICE_F_MOVE is removed by Nick in commit
http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=485ddb4b9741bafb70b22e5c1f9b4f37dc3e85bd
.

Nick, can we add it back now?

-- 
Regards,
Changli Gao(xiaosuo@gmail.com)

^ permalink raw reply

* [patch] ipvs: remove EXPERIMENTAL tag
From: Simon Horman @ 2010-07-26  7:56 UTC (permalink / raw)
  To: lvs-devel, netdev; +Cc: Wensong Zhang, Julian Anastasov, Patrick McHardy

IPVS was merged into the kernel quite a long time ago and
has been seeing wide-spread production use for even longer.

It seems appropriate for it to be no longer tagged as EXPERIMENTAL

Signed-off-as: Simon Horman <horms@verge.net.au>

Index: nf-next-2.6/net/netfilter/ipvs/Kconfig
===================================================================
--- nf-next-2.6.orig/net/netfilter/ipvs/Kconfig	2010-07-26 16:44:36.000000000 +0900
+++ nf-next-2.6/net/netfilter/ipvs/Kconfig	2010-07-26 16:45:02.000000000 +0900
@@ -26,7 +26,7 @@ if IP_VS
 
 config	IP_VS_IPV6
 	bool "IPv6 support for IPVS"
-	depends on EXPERIMENTAL && (IPV6 = y || IP_VS = IPV6)
+	depends on IPV6 = y || IP_VS = IPV6
 	---help---
 	  Add IPv6 support to IPVS. This is incomplete and might be dangerous.
 

^ permalink raw reply

* [patch] ipvs: provide default ip_vs_conn_{in,out}_get_proto
From: Simon Horman @ 2010-07-26  7:56 UTC (permalink / raw)
  To: lvs-devel, netdev; +Cc: Wensong Zhang, Julian Anastasov, Patrick McHardy

This removes duplicate code by providing a default implementation
which is used by 3 of the 4 modules that provide these call.

Signed-off-by: Simon Horman <horms@verge.net.au>

 include/net/ip_vs.h                   |   12 +++++++
 net/netfilter/ipvs/ip_vs_conn.c       |   45 ++++++++++++++++++++++++++
 net/netfilter/ipvs/ip_vs_proto_sctp.c |   53 +------------------------------
 net/netfilter/ipvs/ip_vs_proto_tcp.c  |   50 +----------------------------
 net/netfilter/ipvs/ip_vs_proto_udp.c  |   56 +--------------------------------
 5 files changed, 63 insertions(+), 153 deletions(-)

Index: nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_sctp.c
===================================================================
--- nf-next-2.6.orig/net/netfilter/ipvs/ip_vs_proto_sctp.c	2010-07-18 15:16:58.000000000 +0900
+++ nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_sctp.c	2010-07-18 15:17:01.000000000 +0900
@@ -8,55 +8,6 @@
 #include <net/sctp/checksum.h>
 #include <net/ip_vs.h>
 
-
-static struct ip_vs_conn *
-sctp_conn_in_get(int af,
-		 const struct sk_buff *skb,
-		 struct ip_vs_protocol *pp,
-		 const struct ip_vs_iphdr *iph,
-		 unsigned int proto_off,
-		 int inverse)
-{
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) 
-		return ip_vs_conn_in_get(af, iph->protocol,
-					 &iph->saddr, pptr[0],
-					 &iph->daddr, pptr[1]);
-	else 
-		return ip_vs_conn_in_get(af, iph->protocol,
-					 &iph->daddr, pptr[1],
-					 &iph->saddr, pptr[0]);
-}
-
-static struct ip_vs_conn *
-sctp_conn_out_get(int af,
-		  const struct sk_buff *skb,
-		  struct ip_vs_protocol *pp,
-		  const struct ip_vs_iphdr *iph,
-		  unsigned int proto_off,
-		  int inverse)
-{
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) 
-		return ip_vs_conn_out_get(af, iph->protocol,
-					  &iph->saddr, pptr[0],
-					  &iph->daddr, pptr[1]);
-	else 
-		return ip_vs_conn_out_get(af, iph->protocol,
-					  &iph->daddr, pptr[1],
-					  &iph->saddr, pptr[0]);
-}
-
 static int
 sctp_conn_schedule(int af, struct sk_buff *skb, struct ip_vs_protocol *pp,
 		   int *verdict, struct ip_vs_conn **cpp)
@@ -1169,8 +1120,8 @@ struct ip_vs_protocol ip_vs_protocol_sct
 	.register_app = sctp_register_app,
 	.unregister_app = sctp_unregister_app,
 	.conn_schedule = sctp_conn_schedule,
-	.conn_in_get = sctp_conn_in_get,
-	.conn_out_get = sctp_conn_out_get,
+	.conn_in_get = ip_vs_conn_in_get_proto,
+	.conn_out_get = ip_vs_conn_out_get_proto,
 	.snat_handler = sctp_snat_handler,
 	.dnat_handler = sctp_dnat_handler,
 	.csum_check = sctp_csum_check,
Index: nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_tcp.c
===================================================================
--- nf-next-2.6.orig/net/netfilter/ipvs/ip_vs_proto_tcp.c	2010-07-18 15:16:58.000000000 +0900
+++ nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_tcp.c	2010-07-18 15:17:01.000000000 +0900
@@ -27,52 +27,6 @@
 
 #include <net/ip_vs.h>
 
-
-static struct ip_vs_conn *
-tcp_conn_in_get(int af, const struct sk_buff *skb, struct ip_vs_protocol *pp,
-		const struct ip_vs_iphdr *iph, unsigned int proto_off,
-		int inverse)
-{
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) {
-		return ip_vs_conn_in_get(af, iph->protocol,
-					 &iph->saddr, pptr[0],
-					 &iph->daddr, pptr[1]);
-	} else {
-		return ip_vs_conn_in_get(af, iph->protocol,
-					 &iph->daddr, pptr[1],
-					 &iph->saddr, pptr[0]);
-	}
-}
-
-static struct ip_vs_conn *
-tcp_conn_out_get(int af, const struct sk_buff *skb, struct ip_vs_protocol *pp,
-		 const struct ip_vs_iphdr *iph, unsigned int proto_off,
-		 int inverse)
-{
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) {
-		return ip_vs_conn_out_get(af, iph->protocol,
-					  &iph->saddr, pptr[0],
-					  &iph->daddr, pptr[1]);
-	} else {
-		return ip_vs_conn_out_get(af, iph->protocol,
-					  &iph->daddr, pptr[1],
-					  &iph->saddr, pptr[0]);
-	}
-}
-
-
 static int
 tcp_conn_schedule(int af, struct sk_buff *skb, struct ip_vs_protocol *pp,
 		  int *verdict, struct ip_vs_conn **cpp)
@@ -721,8 +675,8 @@ struct ip_vs_protocol ip_vs_protocol_tcp
 	.register_app =		tcp_register_app,
 	.unregister_app =	tcp_unregister_app,
 	.conn_schedule =	tcp_conn_schedule,
-	.conn_in_get =		tcp_conn_in_get,
-	.conn_out_get =		tcp_conn_out_get,
+	.conn_in_get =		ip_vs_conn_in_get_proto,
+	.conn_out_get =		ip_vs_conn_out_get_proto,
 	.snat_handler =		tcp_snat_handler,
 	.dnat_handler =		tcp_dnat_handler,
 	.csum_check =		tcp_csum_check,
Index: nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_udp.c
===================================================================
--- nf-next-2.6.orig/net/netfilter/ipvs/ip_vs_proto_udp.c	2010-07-18 15:16:58.000000000 +0900
+++ nf-next-2.6/net/netfilter/ipvs/ip_vs_proto_udp.c	2010-07-18 15:17:01.000000000 +0900
@@ -27,58 +27,6 @@
 #include <net/ip.h>
 #include <net/ip6_checksum.h>
 
-static struct ip_vs_conn *
-udp_conn_in_get(int af, const struct sk_buff *skb, struct ip_vs_protocol *pp,
-		const struct ip_vs_iphdr *iph, unsigned int proto_off,
-		int inverse)
-{
-	struct ip_vs_conn *cp;
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) {
-		cp = ip_vs_conn_in_get(af, iph->protocol,
-				       &iph->saddr, pptr[0],
-				       &iph->daddr, pptr[1]);
-	} else {
-		cp = ip_vs_conn_in_get(af, iph->protocol,
-				       &iph->daddr, pptr[1],
-				       &iph->saddr, pptr[0]);
-	}
-
-	return cp;
-}
-
-
-static struct ip_vs_conn *
-udp_conn_out_get(int af, const struct sk_buff *skb, struct ip_vs_protocol *pp,
-		 const struct ip_vs_iphdr *iph, unsigned int proto_off,
-		 int inverse)
-{
-	struct ip_vs_conn *cp;
-	__be16 _ports[2], *pptr;
-
-	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
-	if (pptr == NULL)
-		return NULL;
-
-	if (likely(!inverse)) {
-		cp = ip_vs_conn_out_get(af, iph->protocol,
-					&iph->saddr, pptr[0],
-					&iph->daddr, pptr[1]);
-	} else {
-		cp = ip_vs_conn_out_get(af, iph->protocol,
-					&iph->daddr, pptr[1],
-					&iph->saddr, pptr[0]);
-	}
-
-	return cp;
-}
-
-
 static int
 udp_conn_schedule(int af, struct sk_buff *skb, struct ip_vs_protocol *pp,
 		  int *verdict, struct ip_vs_conn **cpp)
@@ -520,8 +468,8 @@ struct ip_vs_protocol ip_vs_protocol_udp
 	.init =			udp_init,
 	.exit =			udp_exit,
 	.conn_schedule =	udp_conn_schedule,
-	.conn_in_get =		udp_conn_in_get,
-	.conn_out_get =		udp_conn_out_get,
+	.conn_in_get =		ip_vs_conn_in_get_proto,
+	.conn_out_get =		ip_vs_conn_out_get_proto,
 	.snat_handler =		udp_snat_handler,
 	.dnat_handler =		udp_dnat_handler,
 	.csum_check =		udp_csum_check,
Index: nf-next-2.6/net/netfilter/ipvs/ip_vs_conn.c
===================================================================
--- nf-next-2.6.orig/net/netfilter/ipvs/ip_vs_conn.c	2010-07-18 15:16:58.000000000 +0900
+++ nf-next-2.6/net/netfilter/ipvs/ip_vs_conn.c	2010-07-18 16:37:44.000000000 +0900
@@ -271,6 +271,29 @@ struct ip_vs_conn *ip_vs_conn_in_get
 	return cp;
 }
 
+struct ip_vs_conn *
+ip_vs_conn_in_get_proto(int af, const struct sk_buff *skb,
+			struct ip_vs_protocol *pp,
+			const struct ip_vs_iphdr *iph,
+			unsigned int proto_off, int inverse)
+{
+	__be16 _ports[2], *pptr;
+
+	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
+	if (pptr == NULL)
+		return NULL;
+
+	if (likely(!inverse))
+		return ip_vs_conn_in_get(af, iph->protocol,
+					 &iph->saddr, pptr[0],
+					 &iph->daddr, pptr[1]);
+	else
+		return ip_vs_conn_in_get(af, iph->protocol,
+					 &iph->daddr, pptr[1],
+					 &iph->saddr, pptr[0]);
+}
+EXPORT_SYMBOL_GPL(ip_vs_conn_in_get_proto);
+
 /* Get reference to connection template */
 struct ip_vs_conn *ip_vs_ct_in_get
 (int af, int protocol, const union nf_inet_addr *s_addr, __be16 s_port,
@@ -356,6 +379,28 @@ struct ip_vs_conn *ip_vs_conn_out_get
 	return ret;
 }
 
+struct ip_vs_conn *
+ip_vs_conn_out_get_proto(int af, const struct sk_buff *skb,
+			 struct ip_vs_protocol *pp,
+			 const struct ip_vs_iphdr *iph,
+			 unsigned int proto_off, int inverse)
+{
+	__be16 _ports[2], *pptr;
+
+	pptr = skb_header_pointer(skb, proto_off, sizeof(_ports), _ports);
+	if (pptr == NULL)
+		return NULL;
+
+	if (likely(!inverse))
+		return ip_vs_conn_out_get(af, iph->protocol,
+					  &iph->saddr, pptr[0],
+					  &iph->daddr, pptr[1]);
+	else
+		return ip_vs_conn_out_get(af, iph->protocol,
+					  &iph->daddr, pptr[1],
+					  &iph->saddr, pptr[0]);
+}
+EXPORT_SYMBOL_GPL(ip_vs_conn_out_get_proto);
 
 /*
  *      Put back the conn and restart its timer with its timeout
Index: nf-next-2.6/include/net/ip_vs.h
===================================================================
--- nf-next-2.6.orig/include/net/ip_vs.h	2010-07-18 15:16:58.000000000 +0900
+++ nf-next-2.6/include/net/ip_vs.h	2010-07-18 16:37:44.000000000 +0900
@@ -632,10 +632,22 @@ extern struct ip_vs_conn *ip_vs_ct_in_ge
 (int af, int protocol, const union nf_inet_addr *s_addr, __be16 s_port,
  const union nf_inet_addr *d_addr, __be16 d_port);
 
+struct ip_vs_conn * ip_vs_conn_in_get_proto(int af, const struct sk_buff *skb,
+					    struct ip_vs_protocol *pp,
+					    const struct ip_vs_iphdr *iph,
+					    unsigned int proto_off,
+					    int inverse);
+
 extern struct ip_vs_conn *ip_vs_conn_out_get
 (int af, int protocol, const union nf_inet_addr *s_addr, __be16 s_port,
  const union nf_inet_addr *d_addr, __be16 d_port);
 
+struct ip_vs_conn * ip_vs_conn_out_get_proto(int af, const struct sk_buff *skb,
+					     struct ip_vs_protocol *pp,
+					     const struct ip_vs_iphdr *iph,
+					     unsigned int proto_off,
+					     int inverse);
+
 /* put back the conn without restarting its timer */
 static inline void __ip_vs_conn_put(struct ip_vs_conn *cp)
 {

^ permalink raw reply

* [PATCH] usbnet: use jiffies in schedule_timeout(), not msecs
From: Kulikov Vasiliy @ 2010-07-26  8:25 UTC (permalink / raw)
  To: kernel-janitors
  Cc: David Brownell, Greg Kroah-Hartman, David S. Miller,
	Ben Hutchings, Joe Perches, Stephen Hemminger, Jussi Kivilinna,
	netdev, linux-usb, linux-kernel

usbnet_terminate_urbs() uses schedule_timeout() with argument 3 msecs.
schedule_timeout() uses jiffies as argument, so convert msecs to jiffies
with msecs_to_jiffies().

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
---
 drivers/net/usb/usbnet.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 7eab407..b243386 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -624,7 +624,7 @@ static void usbnet_terminate_urbs(struct usbnet *dev)
 	while (!skb_queue_empty(&dev->rxq)
 		&& !skb_queue_empty(&dev->txq)
 		&& !skb_queue_empty(&dev->done)) {
-			schedule_timeout(UNLINK_TIMEOUT_MS);
+			schedule_timeout(msecs_to_jiffies(UNLINK_TIMEOUT_MS));
 			set_current_state(TASK_UNINTERRUPTIBLE);
 			netif_dbg(dev, ifdown, dev->net,
 				  "waited for %d urb completions\n", temp);
-- 
1.7.0.4


^ permalink raw reply related

* Re: IPv6 Anycast?
From: Simon Horman @ 2010-07-26  8:44 UTC (permalink / raw)
  To: Stuart Sheldon; +Cc: Ulrich Weber, Mikael Abrahamsson, netdev
In-Reply-To: <4C49C92D.30705@actusa.net>

On Fri, Jul 23, 2010 at 09:54:05AM -0700, Stuart Sheldon wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> Hi Ulrich,
> 
> Thanks, that resolves half the issue. So as of right now, there is no
> userspace program to add anycast addresses?

I was hoping to have some useful information, but alas I failed on that count.

Looking at ip(8) it seems that the following ought to work:

ip addr add fd16:a2f5:c4d7::7/48 anycast fd16:a2f5:c4d7::8 dev eth0

However, it seems not to, and then I found this in the manpage :-(

	anycast   -   not  implemented  the  destinations are  anycast
	addresses assigned to this host.  They are mainly equivalent to
	local with one difference: such addresses are invalid when used as
	the source address of any packet.


^ permalink raw reply

* Re: [PATCH] ks8842: Support 100Mbps when accessed via timberdale
From: Richard Röjfors @ 2010-07-26  8:44 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20100725.170327.226755551.davem@davemloft.net>

On 07/26/2010 02:03 AM, David Miller wrote:
>
> I'm not applying this patch, flow control is important and
> should be enabled by default whenever possible.  Please
> instead go try and figure out if flow control trigger
> points or RX/TX ring sizes need adjustment instead.

I agree, I will look at the flow control.

--Richard

^ permalink raw reply


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