* Re: iproute2: iplink_ stuff cleanup
From: Stephen Hemminger @ 2012-03-19 22:53 UTC (permalink / raw)
To: Yegor Yefremov; +Cc: netdev
In-Reply-To: <CAGm1_kvbqOtArw4dUpnzTRB1JtfBCaAAeyFYCPrcaGYUF10NSg@mail.gmail.com>
On Mon, 19 Mar 2012 23:22:59 +0100
Yegor Yefremov <yegorslists@googlemail.com> wrote:
> >> I'm still struggling to get ip/iplink_* routines to show up in
> >> Android's ip binary
> >> (https://groups.google.com/d/topic/android-building/yjV4iYnT1Zc/discussion).
> >> I've looked at the algorithm that is used to access those functions
> >> (like can_parse_opt, vlan_parse_opt etc.)
> >>
> >> snprintf(buf, sizeof(buf), LIBDIR "/ip/link_%s.so", id);
> >> dlh = dlopen(buf, RTLD_LAZY);
> >> if (dlh == NULL) {
> >> /* look in current binary, only open once */
> >> dlh = BODY;
> >> if (dlh == NULL) {
> >> dlh = BODY = dlopen(NULL, RTLD_LAZY);
> >> if (dlh == NULL)
> >> return NULL;
> >> }
> >> }
> >>
> >> snprintf(buf, sizeof(buf), "%s_link_util", id);
> >> l = dlsym(dlh, buf);
> >> if (l == NULL)
> >> return NULL;
> >>
> >> as far as I can see from the ip/Makefile there are no dynamic libs
> >> like /ip/link_%s.so. Wouldn't it be simpler to let all iplink_*
> >> objects to export their interfaces via header files and just make a
> >> table in ip/iplink.c to hold protocol ID and pointer at link_utils
> >> struct.
> >>
> >> struct link_util can_link_util = {
> >> .id = "can",
> >> .maxattr = IFLA_CAN_MAX,
> >> .parse_opt = can_parse_opt,
> >> .print_opt = can_print_opt,
> >> .print_xstats = can_print_xstats,
> >> };
> >>
> >> Am I missing something?
> >>
> >> Regards,
> >> Yegor
> >
> > Ip utilities have dynamic extensibility, it is possible for someone
> > to add shared libraries for new functionality. This is a cool feature
> > but isn't used directly by the standard code. It does use it indirectly
> > by using dlopen() to find functions locally.
> >
> > Think of it as introspection in C.
> >
> > I won't take it out of the standard version, but you may have to find
> > another way to handle it on the Android universe.
>
> The solution turned out to be simple:
> https://android-review.googlesource.com/#/c/34240/.
> -Wl,--no-gc-sections did the job.
>
> Can you suggest some more pro arguments for dynamic method of
> exporting API routines?
You could make it optional on your platform, but for mainline Linux
it has been around long enough that someone surely depends on it.
^ permalink raw reply
* Re: [net-next PATCH v0 4/5] ixgbe: enable FDB netdevice ops
From: Jeff Kirsher @ 2012-03-19 22:46 UTC (permalink / raw)
To: Fastabend, John R
Cc: jhs@mojatatu.com, shemminger@vyatta.com,
bhutchings@solarflare.com, roprabhu@cisco.com,
davem@davemloft.net, netdev@vger.kernel.org, mst@redhat.com,
chrisw@redhat.com, Rose, Gregory V, kvm@vger.kernel.org,
sri@us.ibm.com, chealy@imsco-us.com
In-Reply-To: <20120319065208.10959.83135.stgit@jf-dev1-dcblab>
[-- Attachment #1: Type: text/plain, Size: 383 bytes --]
On Sun, 2012-03-18 at 23:52 -0700, Fastabend, John R wrote:
> Enable FDB ops on ixgbe when in SR-IOV mode.
>
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> ---
>
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 59
> +++++++++++++++++++++++++
> 1 files changed, 59 insertions(+), 0 deletions(-)
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [net-next PATCH v0 5/5] ixgbe: allow RAR table to be updated in promisc mode
From: Jeff Kirsher @ 2012-03-19 22:44 UTC (permalink / raw)
To: Fastabend, John R
Cc: jhs@mojatatu.com, shemminger@vyatta.com,
bhutchings@solarflare.com, roprabhu@cisco.com,
davem@davemloft.net, netdev@vger.kernel.org, mst@redhat.com,
chrisw@redhat.com, Rose, Gregory V, kvm@vger.kernel.org,
sri@us.ibm.com, chealy@imsco-us.com
In-Reply-To: <20120319065214.10959.12406.stgit@jf-dev1-dcblab>
[-- Attachment #1: Type: text/plain, Size: 515 bytes --]
On Sun, 2012-03-18 at 23:52 -0700, Fastabend, John R wrote:
> This allows RAR table updates while in promiscuous. With
> SR-IOV enabled it is valuable to allow the RAR table to
> be updated even when in promisc mode to configure forwarding
>
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> ---
>
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 21
> +++++++++++----------
> 1 files changed, 11 insertions(+), 10 deletions(-)
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: Improve rds_sendmsg printk
From: David Miller @ 2012-03-19 22:43 UTC (permalink / raw)
To: davej; +Cc: venkat.x.venkatsubra, netdev
In-Reply-To: <20120319224008.GA23036@redhat.com>
From: Dave Jones <davej@redhat.com>
Date: Mon, 19 Mar 2012 18:40:09 -0400
> - Given this can be called by any user, prevent them from flooding
> the logs by using printk_ratelimited
> - Also add a rds: prefix, so it's clear where the message is coming from.
>
> Signed-off-by: Dave Jones <davej@redhat.com>
I think it should be removed entirely, no socket layer outputs
a message for this error and neither should rds.
^ permalink raw reply
* Improve rds_sendmsg printk
From: Dave Jones @ 2012-03-19 22:40 UTC (permalink / raw)
To: venkat.x.venkatsubra; +Cc: netdev
- Given this can be called by any user, prevent them from flooding
the logs by using printk_ratelimited
- Also add a rds: prefix, so it's clear where the message is coming from.
Signed-off-by: Dave Jones <davej@redhat.com>
--- linux/net/rds/send.c 2011-11-07 12:00:32.000000000 -0500
+++ linux/net/rds/send.c 2012-03-19 18:36:21.804991923 -0400
@@ -935,7 +935,7 @@ int rds_sendmsg(struct kiocb *iocb, stru
/* Mirror Linux UDP mirror of BSD error message compatibility */
/* XXX: Perhaps MSG_MORE someday */
if (msg->msg_flags & ~(MSG_DONTWAIT | MSG_CMSG_COMPAT)) {
- printk(KERN_INFO "msg_flags 0x%08X\n", msg->msg_flags);
+ printk_ratelimited(KERN_INFO "rds: msg_flags 0x%08X\n", msg->msg_flags);
ret = -EOPNOTSUPP;
goto out;
}
^ permalink raw reply
* Re: [net-next PATCH v0 0/5] Series short description
From: David Miller @ 2012-03-19 22:38 UTC (permalink / raw)
To: john.r.fastabend
Cc: jhs, shemminger, bhutchings, roprabhu, jeffrey.t.kirsher, netdev,
mst, chrisw, gregory.v.rose, kvm, sri, chealy
In-Reply-To: <20120319064719.10959.93361.stgit@jf-dev1-dcblab>
From: John Fastabend <john.r.fastabend@intel.com>
Date: Sun, 18 Mar 2012 23:51:45 -0700
> This series is a follow up to this thread:
>
> http://www.spinics.net/lists/netdev/msg191360.html
Can the interested parties please review this series?
I'm willing to apply this right now if it looks OK, but if
it needs more revisions we'll have to defer.
^ permalink raw reply
* Re: iproute2: iplink_ stuff cleanup
From: Yegor Yefremov @ 2012-03-19 22:22 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
In-Reply-To: <20120315091857.2114cb48@nehalam.linuxnetplumber.net>
>> I'm still struggling to get ip/iplink_* routines to show up in
>> Android's ip binary
>> (https://groups.google.com/d/topic/android-building/yjV4iYnT1Zc/discussion).
>> I've looked at the algorithm that is used to access those functions
>> (like can_parse_opt, vlan_parse_opt etc.)
>>
>> snprintf(buf, sizeof(buf), LIBDIR "/ip/link_%s.so", id);
>> dlh = dlopen(buf, RTLD_LAZY);
>> if (dlh == NULL) {
>> /* look in current binary, only open once */
>> dlh = BODY;
>> if (dlh == NULL) {
>> dlh = BODY = dlopen(NULL, RTLD_LAZY);
>> if (dlh == NULL)
>> return NULL;
>> }
>> }
>>
>> snprintf(buf, sizeof(buf), "%s_link_util", id);
>> l = dlsym(dlh, buf);
>> if (l == NULL)
>> return NULL;
>>
>> as far as I can see from the ip/Makefile there are no dynamic libs
>> like /ip/link_%s.so. Wouldn't it be simpler to let all iplink_*
>> objects to export their interfaces via header files and just make a
>> table in ip/iplink.c to hold protocol ID and pointer at link_utils
>> struct.
>>
>> struct link_util can_link_util = {
>> .id = "can",
>> .maxattr = IFLA_CAN_MAX,
>> .parse_opt = can_parse_opt,
>> .print_opt = can_print_opt,
>> .print_xstats = can_print_xstats,
>> };
>>
>> Am I missing something?
>>
>> Regards,
>> Yegor
>
> Ip utilities have dynamic extensibility, it is possible for someone
> to add shared libraries for new functionality. This is a cool feature
> but isn't used directly by the standard code. It does use it indirectly
> by using dlopen() to find functions locally.
>
> Think of it as introspection in C.
>
> I won't take it out of the standard version, but you may have to find
> another way to handle it on the Android universe.
The solution turned out to be simple:
https://android-review.googlesource.com/#/c/34240/.
-Wl,--no-gc-sections did the job.
Can you suggest some more pro arguments for dynamic method of
exporting API routines?
Regards,
Yegor
^ permalink raw reply
* Re: [PATCH] net: qmi_wwan: fix build error due to cdc-wdm dependecy
From: David Miller @ 2012-03-19 22:17 UTC (permalink / raw)
To: rdunlap; +Cc: bjorn, sfr, linux-next, linux-kernel, netdev, linux-usb, gregkh
In-Reply-To: <4F679437.8030201@xenotime.net>
From: Randy Dunlap <rdunlap@xenotime.net>
Date: Mon, 19 Mar 2012 13:16:55 -0700
> On 03/19/2012 10:48 AM, Bjørn Mork wrote:
>
>> Fixes:
>>
>> drivers/built-in.o: In function `qmi_wwan_bind_shared':
>> qmi_wwan.c:(.text+0x25b686): undefined reference to `usb_cdc_wdm_register'
>> make[1]: *** [.tmp_vmlinux1] Error 1
>>
>> Reported-by: Randy Dunlap <rdunlap@xenotime.net>
>> Signed-off-by: Bjørn Mork <bjorn@mork.no>
>
>
> Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Applied.
^ permalink raw reply
* Re: [PATCH v2 net-next] phy: add am79c874 PHY support
From: David Miller @ 2012-03-19 22:06 UTC (permalink / raw)
To: agust; +Cc: netdev, hs
In-Reply-To: <1332104585-23033-1-git-send-email-agust@denx.de>
From: Anatolij Gustschin <agust@denx.de>
Date: Sun, 18 Mar 2012 22:03:05 +0100
> From: Heiko Schocher <hs@denx.de>
>
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
Applied.
^ permalink raw reply
* Re: [PATCH net-next] fs_enet: Add MPC5125 FEC support and PHY interface selection
From: David Miller @ 2012-03-19 22:06 UTC (permalink / raw)
To: agust; +Cc: netdev, pantelis.antoniou, vbordug, vooon341
In-Reply-To: <1332025850-829-1-git-send-email-agust@denx.de>
From: Anatolij Gustschin <agust@denx.de>
Date: Sun, 18 Mar 2012 00:10:50 +0100
> From: Vladimir Ermakov <vooon341@gmail.com>
>
> Add compatible string for MPC5125 FEC. The FEC on MPC5125 additionally
> supports RMII PHY interface. Configure controller/PHY interface type
> according to the optional phy-connection-type property in the ethernet
> node. This property should be either "rmii" or "mii".
>
> Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
Applied.
^ permalink raw reply
* Re: [PATCH v5 0/2] Adding new TI Common Platform ethernet SWitch driver
From: David Miller @ 2012-03-19 22:06 UTC (permalink / raw)
To: mugunthanvnm; +Cc: netdev
In-Reply-To: <1332137874-3247-1-git-send-email-mugunthanvnm@ti.com>
From: Mugunthan V N <mugunthanvnm@ti.com>
Date: Mon, 19 Mar 2012 11:47:52 +0530
> The following series contains driver implementation for TI Common Platform
> ethernet SWitch (CPSW) driver.
>
> CPSW is found in following SoC.
> * AM335X - http://www.ti.com/litv/pdf/spruh73c
> * DM814X - http://www.ti.com/litv/pdf/sprugz8
>
> CPSW:
> The three port switch gigabit ethernet subsystem provides ethernet packet
> communication and can be configured as an ethernet switch. It
> supports 10/100/1000 Mbps. It provides the gigabit media independent
> interface (G/MII), reduced gigabit media independent interface (RGMII),
> reduced media independent interface (RMII), the management data input
> output (MDIO) for physical layer device (PHY) management.
All applied.
^ permalink raw reply
* Re: [PATCH net V1] mlx4_core: fix race on comm channel
From: David Miller @ 2012-03-19 22:06 UTC (permalink / raw)
To: yevgenyp; +Cc: netdev, eugenia
In-Reply-To: <4F65F1E8.9000505@mellanox.co.il>
From: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Date: Sun, 18 Mar 2012 16:32:08 +0200
> From: Eugenia Emantayev <eugenia@mellanox.co.il>
>
>
> Prevent race condition between commands on comm channel.
> Happened while unloading the driver when switching from
> event to polling mode. VF got completion on the last command
> before switching to polling mode, but toggle was not changed.
> After the fix - VF will not write the next command before
> toggle is updated.
>
> Signed-off-by: Eugenia Emantayev <eugenia@mellanox.co.il>
Applied.
^ permalink raw reply
* Re: [PATCH net V4] bonding: send igmp report for its master
From: David Miller @ 2012-03-19 22:06 UTC (permalink / raw)
To: panweiping3; +Cc: fubar, andy, netdev, linux-kernel
In-Reply-To: <07f6298b0c2dca06856e6dcdab7f684447b6f199.1332040061.git.panweiping3@gmail.com>
From: Weiping Pan <panweiping3@gmail.com>
Date: Sun, 18 Mar 2012 11:23:27 +0800
> Liang Zheng(lzheng@redhat.com) found that in the following topo,
> bonding does not send igmp report when we trigger a fail-over of bonding.
>
> eth0--
> |-- bond0 -- br0
> eth1--
>
> modprobe bonding mode=1 miimon=100 resend_igmp=10
> ifconfig bond0 up
> ifenslave bond0 eth0 eth1
>
> brctl addbr br0
> ifconfig br0 192.168.100.2/24 up
> brctl addif br0 bond0
>
> Add 192.168.100.2(br0) into a multicast group, like 224.10.10.10,
> then trigger a fali-over in bonding.
> You can see that parameter "resend_igmp" does not work.
>
> The reason is that when we add br0 into a multicast group,
> it does not propagate multicast knowledge down to its ports.
>
> If we choose to propagate multicast knowledge down to all ports for bridge,
> then we have to track every change that is done to bridge, and keep a backup
> for all ports. It is hard to track, I think.
>
> Instead I choose to modify bonding to send igmp report for its master.
>
> Changelog:
> V2: correct comments
> V3: move this check into bond_resend_igmp_join_requests()
> V4: only send igmp reports if bond is enslaved to a bridge
>
> Signed-off-by: Weiping Pan <panweiping3@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next v4] ipv6: Allocate unique metrics for icmp6 packets to prevent tainting dst metrics
From: David Miller @ 2012-03-19 22:04 UTC (permalink / raw)
To: nick.jones; +Cc: eric.dumazet, netdev
In-Reply-To: <4F64CD4B.4070203@network-box.com>
From: Nick Jones <nick.jones@network-box.com>
Date: Sun, 18 Mar 2012 01:43:39 +0800
> + return ERR_CAST(-ENOMEM);
Really, please, stop wasting my time. There is no way your compiler
didn't emit a warning for that garbage.
Furthermore, callers are only ready to handle NULL vs. non-NULL as
return values from this function. So this return value you are adding
will result in crashes.
^ permalink raw reply
* Re: [PATCH] Fix pppol2tp getsockname()
From: David Miller @ 2012-03-19 21:50 UTC (permalink / raw)
To: bcrl; +Cc: jchapman, netdev
In-Reply-To: <20120319031534.GC11293@kvack.org>
From: Benjamin LaHaise <bcrl@kvack.org>
Date: Sun, 18 Mar 2012 23:15:34 -0400
>
> While testing L2TP functionality, I came across a bug in getsockname(). The
> IP address returned within the pppol2tp_addr's addr memember was not being
> set to the IP address in use. This bug is caused by using inet_sk() on the
> wrong socket (the L2TP socket rather than the underlying UDP socket), and was
> likely introduced during the addition of L2TPv3 support.
Please resubmit this freshly with a proper signoff.
^ permalink raw reply
* Re: [PATCH] net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
From: David Miller @ 2012-03-19 21:42 UTC (permalink / raw)
To: eric.dumazet
Cc: indan, wad, linux-kernel, linux-arch, linux-doc, kernel-hardening,
netdev, x86, arnd, hpa, mingo, oleg, peterz, rdunlap, mcgrathr,
tglx, luto, eparis, serge.hallyn, djm, scarybeasts, pmoore, akpm,
corbet, markus, coreyb, keescook, matt
In-Reply-To: <1332074448.3722.25.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Sun, 18 Mar 2012 05:40:48 -0700
> [PATCH] net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
>
> Matt Evans spotted that x86 bpf_jit was incorrectly handling negative
> constant offsets in BPF_S_LDX_B_MSH instruction.
>
> We need to abort JIT compilation like we do in common_load so that
> filter uses the interpreter code and can call __load_pointer()
>
> Reference: http://lists.openwall.net/netdev/2011/07/19/11
>
> Thanks to Indan Zupancic to bring back this issue.
>
> Reported-by: Matt Evans <matt@ozlabs.org>
> Reported-by: Indan Zupancic <indan@nul.nu>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied and even though libpcap won't generate this I'll queue it up
to -stable anyways.
^ permalink raw reply
* Re: [PATCH] net: update the usage of CHECKSUM_UNNECESSARY
From: David Miller @ 2012-03-19 21:38 UTC (permalink / raw)
To: yi.zou; +Cc: netdev, devel, bhutchings, jeffrey.t.kirsher
In-Reply-To: <20120319211241.11291.53271.stgit@localhost6.localdomain6>
From: Yi Zou <yi.zou@intel.com>
Date: Mon, 19 Mar 2012 14:12:41 -0700
> As suggested by Ben, this adds the clarification on the usage of
> CHECKSUM_UNNECESSARY on the outgoing patch. Also add the usage
> description of NETIF_F_FCOE_CRC and CHECKSUM_UNNECESSARY
> for the kernel FCoE protocol driver.
>
> This is a follow-up to the following:
> http://patchwork.ozlabs.org/patch/147315/
>
> Signed-off-by: Yi Zou <yi.zou@intel.com>
> Cc: Ben Hutchings <bhutchings@solarflare.com>
> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Cc: www.Open-FCoE.org <devel@open-fcoe.org>
Applied.
^ permalink raw reply
* Re: [net 3/3] fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx
From: David Miller @ 2012-03-19 21:38 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: yi.zou, netdev, gospo, sassmann, JBottomley, robert.w.love
In-Reply-To: <1331975292-19521-2-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 17 Mar 2012 02:08:12 -0700
> From: Yi Zou <yi.zou@intel.com>
>
> Fix a bug when using 'ethtool -K ethx tx off' to turn off tx ip checksum,
> FCoE CRC offload should not be impacte. The skb_checksum_help() is needed
> only if it's not FCoE traffic for ip checksum, regardless of ethtool toggling
> the tx ip checksum on or off. Instead of using CHECKSUM_PARTIAL, we will
> use CHECKSUM_UNNECESSARY as a proper indication to avoid sw ip checksum
> on FCoE frames.
>
> Ref. to original discussion thread:
> http://patchwork.ozlabs.org/patch/146567/
>
> CC: "James E.J. Bottomley" <JBottomley@parallels.com>
> CC: Robert Love <robert.w.love@intel.com>
> Signed-off-by: Yi Zou <yi.zou@intel.com>
> Tested-by: Ross Brattain <ross.b.brattain@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net 2/3] net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso
From: David Miller @ 2012-03-19 21:38 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: yi.zou, netdev, gospo, sassmann
In-Reply-To: <1331975292-19521-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 17 Mar 2012 02:08:11 -0700
> From: Yi Zou <yi.zou@intel.com>
>
> This is related to fixing the bug of dropping FCoE frames when disabling tx ip
> checksum by 'ethtool -K ethx tx off'. The FCoE protocol stack driver would
> use CHECKSUM_UNNECESSARY on tx path instead of CHECKSUM_PARTIAL (as indicated in
> the 2/2 of this series). To do so, netif_needs_gso() has to be changed here to
> not do gso for both CHECKSUM_PARTIAL and CHECKSUM_UNNECESSARY.
>
> Ref. to original discussion thread:
> http://patchwork.ozlabs.org/patch/146567/
>
> Signed-off-by: Yi Zou <yi.zou@intel.com>
> Tested-by: Ross Brattain <ross.b.brattain@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net 1/3] ixgbe: Fix issues with SR-IOV loopback when flow control is disabled
From: David Miller @ 2012-03-19 21:38 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: alexander.h.duyck, netdev, gospo, sassmann
In-Reply-To: <1331975254-19443-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 17 Mar 2012 02:07:34 -0700
> From: Alexander Duyck <alexander.h.duyck@intel.com>
>
> This patch allows us to avoid a Tx hang when SR-IOV is enabled. This hang
> can be triggered by sending small packets at a rate that was triggering Rx
> missed errors from the adapter while the internal Tx switch and at least
> one VF are enabled.
>
> This was all due to the fact that under heavy stress the Rx FIFO never
> drained below the flow control high water mark. This resulted in the Tx
> FIFO being head of line blocked due to the fact that it relies on the flow
> control high water mark to determine when it is acceptable for the Tx to
> place a packet in the Rx FIFO.
>
> The resolution for this is to set the FCRTH value to the RXPBSIZE - 32 so
> that even if the ring is almost completely full we can still place Tx
> packets on the Rx ring and drop incoming Rx traffic if we do not have
> sufficient space available in the Rx FIFO.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Tested-by: Sibai Li <sibai.li@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [PATCH v2,1/1] net/hyperv: Fix the code handling tx busy
From: David Miller @ 2012-03-19 21:27 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, haiyangz, linux-kernel, devel
In-Reply-To: <1332192191.9397.62.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon, 19 Mar 2012 14:23:11 -0700
> On Mon, 2012-03-19 at 14:23 -0700, Haiyang Zhang wrote:
>> Instead of dropping the packet, we keep the skb buffer, and return
>> NETDEV_TX_BUSY to let upper layer retry send. This will not cause
>> endless loop, because the host is taking data away from ring buffer,
>> and we have called the stop_queue before returning NETDEV_TX_BUSY.
>>
>> The stop_queue was called in the function netvsc_send() in file
>> netvsc.c, then it returns to rndis_filter_send(), which returns to
>> netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
>> indeed returned AFTER queue is stopped.
>>
>> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
>> Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
>> ---
>
> Thanks
>
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply
* Re: [net-next 00/10][pull request] Intel Wired LAN Driver Updates
From: David Miller @ 2012-03-19 21:26 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1332192158-14771-1-git-send-email-jeffrey.t.kirsher@intel.com>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 19 Mar 2012 14:22:28 -0700
> This series of patches contains fixes/cleanups for ixgbe. This
> series completes the cleanup work from Alex for ixgbe.
>
> The following are changes since commit 4da0bd736552e6377b407b3c3d3ae518ebbdd269:
> Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply
* [PATCH v2,1/1] net/hyperv: Fix the code handling tx busy
From: Haiyang Zhang @ 2012-03-19 21:23 UTC (permalink / raw)
To: haiyangz, kys, davem, netdev, linux-kernel, devel
In-Reply-To: <1332192233-32305-1-git-send-email-haiyangz@microsoft.com>
Instead of dropping the packet, we keep the skb buffer, and return
NETDEV_TX_BUSY to let upper layer retry send. This will not cause
endless loop, because the host is taking data away from ring buffer,
and we have called the stop_queue before returning NETDEV_TX_BUSY.
The stop_queue was called in the function netvsc_send() in file
netvsc.c, then it returns to rndis_filter_send(), which returns to
netvsc_start_xmit() in file netvsc_drv.c. So the NETDEV_TX_BUSY is
indeed returned AFTER queue is stopped.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
---
drivers/net/hyperv/netvsc_drv.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 2517d20..dd29478 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -223,13 +223,10 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net)
net->stats.tx_bytes += skb->len;
net->stats.tx_packets++;
} else {
- /* we are shutting down or bus overloaded, just drop packet */
- net->stats.tx_dropped++;
kfree(packet);
- dev_kfree_skb_any(skb);
}
- return NETDEV_TX_OK;
+ return ret ? NETDEV_TX_BUSY : NETDEV_TX_OK;
}
/*
--
1.7.4.1
^ permalink raw reply related
* [PATCH v2,0/1] net/hyperv: Fix the code handling tx busy
From: Haiyang Zhang @ 2012-03-19 21:23 UTC (permalink / raw)
To: haiyangz, kys, davem, netdev, linux-kernel, devel
note: This patch is targeting 'net-next' tree.
The change log has been updated. Thanks to Eric Dumazet
<eric.dumazet@gmail.com> and Stephen Hemminger <shemminger@vyatta.com>
for their suggestions.
Haiyang Zhang (1):
net/hyperv: Fix the code handling tx busy
drivers/net/hyperv/netvsc_drv.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
--
1.7.4.1
^ permalink raw reply
* Re: [PATCH v8 RESEND] ARM: net: JIT compiler for packet filters
From: David Miller @ 2012-03-19 21:20 UTC (permalink / raw)
To: mgherzan; +Cc: linux, netdev, linux-arm-kernel, eric.dumazet
In-Reply-To: <1331933316-10197-1-git-send-email-mgherzan@gmail.com>
I would like to see this merged however is feasible, this has been in
a catatonic state for two releases and waiting longer isn't going to
improve things enough to justify any further delay.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox