Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH] ipvs: Kconfig cleanup
From: Simon Horman @ 2010-07-04  7:13 UTC (permalink / raw)
  To: Michal Marek
  Cc: lvs-devel, netdev, Julian Anastasov, Wensong Zhang, linux-kernel,
	Patrick McHardy
In-Reply-To: <20100704070516.GA9437@verge.net.au>

[ Added Patrick McHardy to CC ]

On Sun, Jul 04, 2010 at 04:05:16PM +0900, Simon Horman wrote:
> On Fri, Jul 02, 2010 at 10:32:08PM +0200, Michal Marek wrote:
> > IP_VS_PROTO_AH_ESP should be set iff either of IP_VS_PROTO_{AH,ESP} is
> > selected. Express this with standard kconfig syntax.
> > 
> > Signed-off-by: Michal Marek <mmarek@suse.cz>
> 
> Acked-by: Simon Horman <horms@verge.net.au>
> 
> > ---
> >  net/netfilter/ipvs/Kconfig |    5 +----
> >  1 files changed, 1 insertions(+), 4 deletions(-)
> > 
> > diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig
> > index f2d7623..91e7373 100644
> > --- a/net/netfilter/ipvs/Kconfig
> > +++ b/net/netfilter/ipvs/Kconfig
> > @@ -83,19 +83,16 @@ config	IP_VS_PROTO_UDP
> >  	  protocol. Say Y if unsure.
> >  
> >  config	IP_VS_PROTO_AH_ESP
> > -	bool
> > -	depends on UNDEFINED
> > +	def_bool IP_VS_PROTO_ESP || IP_VS_PROTO_AH
> >  
> >  config	IP_VS_PROTO_ESP
> >  	bool "ESP load balancing support"
> > -	select IP_VS_PROTO_AH_ESP
> >  	---help---
> >  	  This option enables support for load balancing ESP (Encapsulation
> >  	  Security Payload) transport protocol. Say Y if unsure.
> >  
> >  config	IP_VS_PROTO_AH
> >  	bool "AH load balancing support"
> > -	select IP_VS_PROTO_AH_ESP
> >  	---help---
> >  	  This option enables support for load balancing AH (Authentication
> >  	  Header) transport protocol. Say Y if unsure.
> > -- 
> > 1.7.1
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> 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: [PATCH] ipvs: Kconfig cleanup
From: Simon Horman @ 2010-07-04  7:05 UTC (permalink / raw)
  To: Michal Marek
  Cc: lvs-devel, netdev, Julian Anastasov, Wensong Zhang, linux-kernel
In-Reply-To: <1278102728-20217-1-git-send-email-mmarek@suse.cz>

On Fri, Jul 02, 2010 at 10:32:08PM +0200, Michal Marek wrote:
> IP_VS_PROTO_AH_ESP should be set iff either of IP_VS_PROTO_{AH,ESP} is
> selected. Express this with standard kconfig syntax.
> 
> Signed-off-by: Michal Marek <mmarek@suse.cz>

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

> ---
>  net/netfilter/ipvs/Kconfig |    5 +----
>  1 files changed, 1 insertions(+), 4 deletions(-)
> 
> diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig
> index f2d7623..91e7373 100644
> --- a/net/netfilter/ipvs/Kconfig
> +++ b/net/netfilter/ipvs/Kconfig
> @@ -83,19 +83,16 @@ config	IP_VS_PROTO_UDP
>  	  protocol. Say Y if unsure.
>  
>  config	IP_VS_PROTO_AH_ESP
> -	bool
> -	depends on UNDEFINED
> +	def_bool IP_VS_PROTO_ESP || IP_VS_PROTO_AH
>  
>  config	IP_VS_PROTO_ESP
>  	bool "ESP load balancing support"
> -	select IP_VS_PROTO_AH_ESP
>  	---help---
>  	  This option enables support for load balancing ESP (Encapsulation
>  	  Security Payload) transport protocol. Say Y if unsure.
>  
>  config	IP_VS_PROTO_AH
>  	bool "AH load balancing support"
> -	select IP_VS_PROTO_AH_ESP
>  	---help---
>  	  This option enables support for load balancing AH (Authentication
>  	  Header) transport protocol. Say Y if unsure.
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe lvs-devel" 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

* [PATCH net-next 1/4] bnx2: Always enable MSI-X on 5709.
From: Michael Chan @ 2010-07-04  6:42 UTC (permalink / raw)
  To: davem; +Cc: netdev

Minor change to use MSI-X even if there is only one CPU.  This allows
the CNIC driver to always have a dedicated MSI-X vector to handle
iSCSI events, instead of sharing the MSI vector.

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index a5dd81f..0614ca0 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6185,7 +6185,7 @@ bnx2_setup_int_mode(struct bnx2 *bp, int dis_msi)
 	bp->irq_nvecs = 1;
 	bp->irq_tbl[0].vector = bp->pdev->irq;
 
-	if ((bp->flags & BNX2_FLAG_MSIX_CAP) && !dis_msi && cpus > 1)
+	if ((bp->flags & BNX2_FLAG_MSIX_CAP) && !dis_msi)
 		bnx2_enable_msix(bp, msix_vecs);
 
 	if ((bp->flags & BNX2_FLAG_MSI_CAP) && !dis_msi &&
-- 
1.6.4.GIT



^ permalink raw reply related

* [PATCH net-next 2/4] bnx2: Add support for skb->rxhash.
From: Michael Chan @ 2010-07-04  6:42 UTC (permalink / raw)
  To: davem; +Cc: netdev
In-Reply-To: <1278225738-7795-1-git-send-email-mchan@broadcom.com>

Add skb->rxhash support for TCP packets only because the bnx2 RSS hash
does not hash UDP ports.

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |   15 ++++++++++++++-
 drivers/net/bnx2.h |    3 +++
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 0614ca0..1450c75 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -3219,6 +3219,10 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
 					      L2_FHDR_ERRORS_UDP_XSUM)) == 0))
 				skb->ip_summed = CHECKSUM_UNNECESSARY;
 		}
+		if ((bp->dev->features & NETIF_F_RXHASH) &&
+		    ((status & L2_FHDR_STATUS_USE_RXHASH) ==
+		     L2_FHDR_STATUS_USE_RXHASH))
+			skb->rxhash = rx_hdr->l2_fhdr_hash;
 
 		skb_record_rx_queue(skb, bnapi - &bp->bnx2_napi[0]);
 
@@ -7558,6 +7562,12 @@ bnx2_set_tx_csum(struct net_device *dev, u32 data)
 		return (ethtool_op_set_tx_csum(dev, data));
 }
 
+static int
+bnx2_set_flags(struct net_device *dev, u32 data)
+{
+	return ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH);
+}
+
 static const struct ethtool_ops bnx2_ethtool_ops = {
 	.get_settings		= bnx2_get_settings,
 	.set_settings		= bnx2_set_settings,
@@ -7587,6 +7597,8 @@ static const struct ethtool_ops bnx2_ethtool_ops = {
 	.phys_id		= bnx2_phys_id,
 	.get_ethtool_stats	= bnx2_get_ethtool_stats,
 	.get_sset_count		= bnx2_get_sset_count,
+	.set_flags		= bnx2_set_flags,
+	.get_flags		= ethtool_op_get_flags,
 };
 
 /* Called with rtnl_lock */
@@ -8333,7 +8345,8 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 	memcpy(dev->dev_addr, bp->mac_addr, 6);
 	memcpy(dev->perm_addr, bp->mac_addr, 6);
 
-	dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_GRO;
+	dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_GRO |
+			 NETIF_F_RXHASH;
 	vlan_features_add(dev, NETIF_F_IP_CSUM | NETIF_F_SG);
 	if (CHIP_NUM(bp) == CHIP_NUM_5709) {
 		dev->features |= NETIF_F_IPV6_CSUM;
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index ddaa3fc..b9af6bc 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -295,6 +295,9 @@ struct l2_fhdr {
 		#define L2_FHDR_ERRORS_TCP_XSUM		(1<<28)
 		#define L2_FHDR_ERRORS_UDP_XSUM		(1<<31)
 
+		#define L2_FHDR_STATUS_USE_RXHASH	\
+			(L2_FHDR_STATUS_TCP_SEGMENT | L2_FHDR_STATUS_RSS_HASH)
+
 	u32 l2_fhdr_hash;
 #if defined(__BIG_ENDIAN)
 	u16 l2_fhdr_pkt_len;
-- 
1.6.4.GIT



^ permalink raw reply related

* [PATCH net-next 4/4] bnx2: Update version to 2.0.16.
From: Michael Chan @ 2010-07-04  6:42 UTC (permalink / raw)
  To: davem; +Cc: netdev
In-Reply-To: <1278225738-7795-3-git-send-email-mchan@broadcom.com>

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 1450c75..ae0a9af 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -58,8 +58,8 @@
 #include "bnx2_fw.h"
 
 #define DRV_MODULE_NAME		"bnx2"
-#define DRV_MODULE_VERSION	"2.0.15"
-#define DRV_MODULE_RELDATE	"May 4, 2010"
+#define DRV_MODULE_VERSION	"2.0.16"
+#define DRV_MODULE_RELDATE	"July 2, 2010"
 #define FW_MIPS_FILE_06		"bnx2/bnx2-mips-06-5.0.0.j6.fw"
 #define FW_RV2P_FILE_06		"bnx2/bnx2-rv2p-06-5.0.0.j3.fw"
 #define FW_MIPS_FILE_09		"bnx2/bnx2-mips-09-5.0.0.j15.fw"
-- 
1.6.4.GIT



^ permalink raw reply related

* [PATCH net-next 3/4] bnx2: Dump some config space registers during TX timeout.
From: Michael Chan @ 2010-07-04  6:42 UTC (permalink / raw)
  To: davem; +Cc: netdev
In-Reply-To: <1278225738-7795-2-git-send-email-mchan@broadcom.com>

These config register values will be useful when the memory registers
are returning 0xffffffff which has been reported.

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index ae0a9af..22fa1e9 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6313,9 +6313,14 @@ static void
 bnx2_dump_state(struct bnx2 *bp)
 {
 	struct net_device *dev = bp->dev;
-	u32 mcp_p0, mcp_p1;
-
-	netdev_err(dev, "DEBUG: intr_sem[%x]\n", atomic_read(&bp->intr_sem));
+	u32 mcp_p0, mcp_p1, val1, val2;
+
+	pci_read_config_dword(bp->pdev, PCI_COMMAND, &val1);
+	netdev_err(dev, "DEBUG: intr_sem[%x] PCI_CMD[%08x]\n",
+		   atomic_read(&bp->intr_sem), val1);
+	pci_read_config_dword(bp->pdev, bp->pm_cap + PCI_PM_CTRL, &val1);
+	pci_read_config_dword(bp->pdev, BNX2_PCICFG_MISC_CONFIG, &val2);
+	netdev_err(dev, "DEBUG: PCI_PM[%08x] PCI_MISC_CFG[%08x]\n", val1, val2);
 	netdev_err(dev, "DEBUG: EMAC_TX_STATUS[%08x] EMAC_RX_STATUS[%08x]\n",
 		   REG_RD(bp, BNX2_EMAC_TX_STATUS),
 		   REG_RD(bp, BNX2_EMAC_RX_STATUS));
-- 
1.6.4.GIT



^ permalink raw reply related

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

On Thu, 2010-07-01 at 01:59 +0300, Maxim Levitsky wrote:
> On Tue, 2010-06-29 at 12:37 -0600, Tantilov, Emil S wrote:
> > Maxim Levitsky wrote:
> > > On Mon, 2010-06-28 at 18:09 -0700, Allan, Bruce W wrote:
> > >> On Monday, June 28, 2010 10:14 AM, Maxim Levitsky wrote:
> > >>> On Mon, 2010-06-28 at 10:04 -0700, Allan, Bruce W wrote:
> > >>>> On Sunday, June 27, 2010 10:47 AM, Maxim Levitsky wrote:
> > >>>>> On Sun, 2010-06-27 at 20:43 +0300, Maxim Levitsky wrote:
> > >>>>>> On Sun, 2010-06-27 at 20:29 +0300, Maxim Levitsky wrote:
> > >>>>>>> On Sun, 2010-06-27 at 20:27 +0300, Maxim Levitsky wrote:
> > >>>>>>>> Just that,
> > >>>>>>>> 
> > >>>>>>>> It doesn't receive anything from my internet router during
> > >>>>>>>> DHCP. 
> > >>>>>>>> 
> > >>>>>>>> 
> > >>>>>>>> 00:19.0 Ethernet controller [0200]: Intel Corporation 82566DC
> > >>>>>>>> 	Gigabit Network Connection [8086:104b] (rev 02) Subsystem:
> > >>>>>>>> 	Intel Corporation Device [8086:0001] Control: I/O+ Mem+
> > >>>>>>>> 	BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping-
> > >>>>>>>> 	SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B-
> > >>>>>>>> 	ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> > >>>>>>>> 	INTx- 	Latency: 0 Interrupt: pin A routed to IRQ 47 Region 0:
> > >>>>>>>> 	Memory at 50300000 (32-bit, non-prefetchable) [size=128K]
> > >>>>>>>> 	Region 1: Memory at 50324000 (32-bit, non-prefetchable)
> > >>>>>>>> 		[size=4K] Region 2: I/O ports at 30e0 [size=32]
> > >>>>>>>> 		Capabilities: [c8] Power Management version 2 Flags: PMEClk-
> > >>>>>>>> 	DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
> > >>>>>>>> 		Status: D0 PME-Enable- DSel=0 DScale=1 PME- Capabilities:
> > >>>>>>>> 	[d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0
> > >>>>>>>> 	Enable+ Address: 00000000fee0100c  Data: 41c9 Kernel driver
> > >>>>>>>> in use: e1000e Kernel modules: e1000e 
> > >>>>>>>> 
> > >>>>>>>> I use vanilla tree, commit
> > >>>>>>>> bf2937695fe2330bfd8933a2310e7bdd2581dc2e
> > >>>>>>>> 
> > >>>>>>>> 
> > >>>>>>>> Best regards,
> > >>>>>>>> 	Maxim Levitsky
> > >>>>>>>> 
> > >>>>>>> 
> > >>>>>>> It appears to work now after reboot.
> > >>>>>>> Will keep a look for this.
> > >>>>>>> 
> > >>>>>>> Disregard for now.
> > >>>>>> 
> > >>>>>> 
> > >>>>>> Just s2ram cycle, problem is back.
> > >>>>>> Did full reboot (power off then on), same thing card doesn't
> > >>>>>> work... 
> > >>>>>> 
> > >>>>> 
> > >>>>> Yep, s2ram sometimes 'fixes', sometimes breaks the card.
> > >>>>> Something got broken in device initialization path.
> > >>>>> 
> > >>>>> Best regards,
> > >>>>>  	Maxim Levitsky
> > >>>> 
> > >>>> What distro are you using?  If RedHat, since you are using DHCP
> > >>>> will you please try putting a "LINKDELAY=10" in the
> > >>>> /etc/sysconfig/network-scripts/ifcfg-ethX config file.
> > >>>> 
> > >>> I use ubuntu 9.10
> > >>> 
> > >>>> Is there anything in the system log that might help narrow down the
> > >>>> issue?
> > >>> 
> > >>> Nothing, really nothing.
> > >>> It seems to detect link, dhcp client sends requests, but doesn't
> > >>> recieve a thing (even tried promisc mode - doesn't help)
> > >>> 
> > >>> 
> > >>> 
> > >>> Best regards,
> > >>> 	Maxim Levitsky
> > >> 
> > >> Since you say this is a regression, when did this last work for you
> > >> without this problem, i.e. which distro, which kernel? 
> > > 
> > > I always compile kernel, and last kernel I compiled here was vanilla
> > > 2.6.33-rc4.
> > > It works just fine.
> > > 
> > > I mostly use my laptop, and therefore didn't update kernel on my
> > > desktop for long time.
> > > 
> > > If I find some free time I try to bisect the problem.
> > 
> > Could you provide some additional info about your setup:
> > ethtool -e eth0
> > ethtool -d eth0
> > kernel config (if possible)
> > 
> > What is the model of your system/MB?
> 
> 
> Sure,
> 
> 
> My motherboard on this system is Intel DG965RY
> 
> The bug in about 90% reproducible.
> Doing several s2ram cycles, its possible to catch a moment when the
> device starts working.
> 

Just tested 2.6.34, and it works, so this is 2.6.35 regression.

Best regards,
	Maxim Levitsky


^ permalink raw reply

* Re: setsockopt(IP_TOS) being privileged or distinct capability?
From: Alexander Clouter @ 2010-07-03 23:48 UTC (permalink / raw)
  To: Philip Prindeville; +Cc: netdev
In-Reply-To: <4C2FC2C8.8080203@redfish-solutions.com>

Hi,

* Philip Prindeville <philipp_subx@redfish-solutions.com> [2010-07-03 17:07:52-0600]:
>
> On 7/3/10 12:55 PM, Alexander Clouter wrote:
>>    
>>> Does anyone else think that setsockopt(IP_TOS) should be a privileged
>>> operation, perhaps using CAP_NET_ADMIN, or maybe even adding separate
>>> granularity as CAP_NET_TOS?
>>>
>>>      
>> I really would prefer not having to run telnet and ssh *clients* as
>> root. :)
>
> Don't ping and traceroute -I currently run as root?
>
Indeed, but I have no idea what that has to do with ToS/DSCP flags?

ping and (old skool) traceroute use ICMP where you need to open a 
privileged socket; to send and receive ICMP packets.  Opening a UDP/TCP 
is an unprivileged operation and so is setsockopt(IP_TOS).

I'm guessing, if you excuse me Google-stalking you), this is all linked 
to:

https://bugzilla.mindrot.org/show_bug.cgi?id=1733

You have to bear in mind ToS is a marking that userland can utilise to 
request that the network provides it with a particular QoS, this does 
not mean for an instant the network has to honour that (I know my ISP 
does not and neither does my work network I sysadmin for)...otherwise 
nothing would stop me using:

iptables -t mangle -I POSTROUTING -j DSCP --set-dscp-class EF

QoS is meaningless unless you place boundaries on the policies; the 
ToS/DSCP marking should only be used as a *hint* for classification of 
traffic flows.

For example, 'interactive' and 'low latency' (in the case of SSH or 
telnet) should not exceed 10kB/s...unless you like to play 0verkill :)  
Anything marking it's traffic as interactive but shutting traffic at 
500kB/s is obviously telling lies.  If you build your policing rules to 
blindly accept whatever is in the ToS/DSCP field, you are configuring a 
DoS vector on your network.

Cheers

-- 
Alexander Clouter
.sigmonster says: A rolling stone gathers momentum.

^ permalink raw reply

* Re: setsockopt(IP_TOS) being privileged or distinct capability?
From: Philip Prindeville @ 2010-07-03 23:07 UTC (permalink / raw)
  To: Alexander Clouter; +Cc: netdev
In-Reply-To: <2md4g7-3s3.ln1@chipmunk.wormnet.eu>

On 7/3/10 12:55 PM, Alexander Clouter wrote:
> Philip Prindeville<philipp_subx@redfish-solutions.com>  wrote:
>    
>> Does anyone else think that setsockopt(IP_TOS) should be a privileged
>> operation, perhaps using CAP_NET_ADMIN, or maybe even adding separate
>> granularity as CAP_NET_TOS?
>>
>>      
> I really would prefer not having to run telnet and ssh *clients* as
> root. :)
>
> Cheers
>
>    

Don't ping and traceroute -I currently run as root?


^ permalink raw reply

* [PATCH net-next-2.6] ipv6: adding ip_nonlocal_bind option from ipv4
From: Michal Humpula @ 2010-07-03 20:38 UTC (permalink / raw)
  To: netdev

Adds ability to bind non-local IPv6 address the same way as for IPv4

Signed-off-by: Michal Humpula <michal.humpula@web4u.cz>

diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index f350c69..27fa09a 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -962,6 +962,10 @@ bindv6only - BOOLEAN
 		FALSE: enable IPv4-mapped address feature
 
 	Default: FALSE (as specified in RFC2553bis)
+ipv6_nonlocal_bind - BOOLEAN
+	If set, allows processes to bind() to non-local IPv6 addresses,
+	which can be quite useful - but may break some applications.
+	Default: 0
 
 IPv6 Fragmentation:
 
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 7bb5cb6..8957ead 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -528,6 +528,7 @@ enum {
 	NET_IPV6_IP6FRAG_TIME=23,
 	NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
 	NET_IPV6_MLD_MAX_MSF=25,
+	NET_IPV6_NONLOCAL_BIND=26
 };
 
 enum {
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 1f84124..f459fcb 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -641,6 +641,8 @@ static inline int snmp6_unregister_dev(struct inet6_dev *idev) { return 0; }
 #endif
 
 #ifdef CONFIG_SYSCTL
+extern int sysctl_ipv6_nonlocal_bind;
+
 extern ctl_table ipv6_route_table_template[];
 extern ctl_table ipv6_icmp_table_template[];
 
diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c
index 1357c57..525edae 100644
--- a/kernel/sysctl_binary.c
+++ b/kernel/sysctl_binary.c
@@ -559,6 +559,7 @@ static const struct bin_table bin_net_ipv6_table[] = {
 	{ CTL_DIR,	NET_IPV6_ROUTE,		"route",	bin_net_ipv6_route_table },
 	{ CTL_DIR,	NET_IPV6_ICMP,		"icmp",		bin_net_ipv6_icmp_table },
 	{ CTL_INT,	NET_IPV6_BINDV6ONLY,		"bindv6only" },
+	{ CTL_INT,	NET_IPV6_NONLOCAL_BIND,		"ipv6_nonlocal_bind" },
 	{ CTL_INT,	NET_IPV6_IP6FRAG_HIGH_THRESH,	"ip6frag_high_thresh" },
 	{ CTL_INT,	NET_IPV6_IP6FRAG_LOW_THRESH,	"ip6frag_low_thresh" },
 	{ CTL_INT,	NET_IPV6_IP6FRAG_TIME,		"ip6frag_time" },
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index e830cd4..55b3552 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -252,6 +252,8 @@ out_rcu_unlock:
 	goto out;
 }
 
+int sysctl_ipv6_nonlocal_bind __read_mostly;
+EXPORT_SYMBOL(sysctl_ipv6_nonlocal_bind);
 
 /* bind for INET6 API */
 int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
@@ -345,8 +347,10 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 			if (!(addr_type & IPV6_ADDR_MULTICAST))	{
 				if (!ipv6_chk_addr(net, &addr->sin6_addr,
 						   dev, 0)) {
-					err = -EADDRNOTAVAIL;
-					goto out_unlock;
+					if (!sysctl_ipv6_nonlocal_bind) {
+						err = -EADDRNOTAVAIL;
+						goto out_unlock;
+					}
 				}
 			}
 			rcu_read_unlock();
diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c
index fa1d8f4..56bfe76 100644
--- a/net/ipv6/sysctl_net_ipv6.c
+++ b/net/ipv6/sysctl_net_ipv6.c
@@ -35,6 +35,13 @@ static ctl_table ipv6_table_template[] = {
 		.mode		= 0644,
 		.proc_handler	= proc_dointvec
 	},
+	{
+		.procname = "ipv6_nonlocal_bind",
+		.data   = &sysctl_ipv6_nonlocal_bind,
+		.maxlen   = sizeof(int),
+		.mode   = 0644,
+		.proc_handler = proc_dointvec
+	},
 	{ }
 };
 

^ permalink raw reply related

* Re: [PATCH net-next-2.6] IB/{nes, ipoib}: Pass supported flags to ethtool_op_set_flags()
From: Ben Hutchings @ 2010-07-03 20:40 UTC (permalink / raw)
  To: Roland Dreier
  Cc: Randy Dunlap, amit.salecha, Chien Tung, sgruszka, amwang, dm,
	brice, gallatin, shemminger, jgarzik, roprabhu, e1000-devel,
	scofeldm, Roland Dreier, buytenh, Faisal Latif, vkolluri,
	linux-net-drivers, netdev, anirban.chakraborty, linux-rdma,
	David Miller
In-Reply-To: <adask40nxaa.fsf@roland-alpha.cisco.com>

On Sat, 2010-07-03 at 13:08 -0700, Roland Dreier wrote:
> > Following commit 1437ce3983bcbc0447a0dedcd644c14fe833d266 "ethtool:
>  > Change ethtool_op_set_flags to validate flags", ethtool_op_set_flags
>  > takes a third parameter and cannot be used directly as an
>  > implementation of ethtool_ops::set_flags.
> 
> I assume this commit is in one of Dave's trees and breaks nes and ipoib
> because it changed the ethtool_op_set_flags prototype?

Right.

>  > Dave, Roland, you'd better decide between yourselves should apply this.
> 
> Since this depends on a commit already in Dave's tree, Dave should
> probably take it into the same tree.  I guess there's no way to roll
> this into the original patch to avoid breaking bisects once this ends up
> upstream?

Unfortunately it's too late to do that.

> anyway,
> 
> Acked-by: Roland Dreier <rolandd@cisco.com>
> 
>  > +static int nes_netdev_set_flags(struct net_device *netdev, u32 flags)
>  > +{
>  > +	return ethtool_op_set_flags(netdev, flags, ETH_FLAG_LRO);
>  > +}
>  > +
>  > +
>  >  static const struct ethtool_ops nes_ethtool_ops = {
> 
> Also would have been a bit nicer to avoid adding a double blank line
> here, although that's obviously a trivial issue.

This spacing is consistent with the surrounding code.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired

^ permalink raw reply

* Re: [Linux-ATM-General] [PATCH 0/6] atm: propagate atm_dev signal carrier to LOWER_UP of netdevice
From: chas williams - CONTRACTOR @ 2010-07-03 20:09 UTC (permalink / raw)
  To: Karl Hiramoto; +Cc: linux-atm-general, netdev
In-Reply-To: <1278092830-10473-1-git-send-email-karl@hiramoto.org>

thanks for writing this.  this is something that has been missing for
some time in the atm stack.  however, i was hoping it could take a
different approach.  i would prefer this mechanism to be more generic
instead of being only suitable for signalling carrier changes.   take a
look at the notifier/register_netdevice_notifier scheme.

clients (like br2684) who wish to get these notifications, would need
to call register_atmdevice_notifier().  and yes, instead of handling
setting the signal flag yourself, everyone (including the drivers in
usb/atm) should be using the atm_dev_signal_change().

i am not fond of the idea of adding to the vcc struct something that
is really per device, not per vcc.

On Fri,  2 Jul 2010 19:47:04 +0200
Karl Hiramoto <karl@hiramoto.org> wrote:

> In userspace it's helpfull to know if a network device has a carrier
> signal. Often it is monitored via netlink.  This patchset allows a
> way for the struct atm_dev drivers to pass carrier on/off to the
> netdevice.
> 
> For DSL, carrier is on when the line has reached showtime state.
> 
> Currently this patchset only propagates the changes to br2684 vccs,
> as this is the only type of hardware I have to test.
> 
> If you prefer git you can pull from:
> git://github.com/karlhiramoto/linux-2.6.git linux-atm
> 
> Signed-off-by: Karl Hiramoto <karl@hiramoto.org>
> 
> Karl Hiramoto (6):
>   atm: add hooks to propagate signal changes to netdevice
>   atm br2684: add callback for carrier signal changes.
>   atm/idt77105.c: call atm_dev_signal_change() when signal changes.
>   atm/solos-pci: call atm_dev_signal_change() when signal changes.
>   atm/suni.c: call atm_dev_signal_change() when signal changes.
>   atm/adummy: add syfs DEVICE_ATTR to change signal
> 
>  drivers/atm/adummy.c    |   39
> +++++++++++++++++++++++++++++++++++++++ drivers/atm/idt77105.c  |
> 11 ++++++----- drivers/atm/solos-pci.c |    6 +++---
>  drivers/atm/suni.c      |    5 +++--
>  include/linux/atmdev.h  |    5 +++++
>  net/atm/br2684.c        |   13 +++++++++++++
>  net/atm/common.c        |   33 +++++++++++++++++++++++++++++++++
>  7 files changed, 102 insertions(+), 10 deletions(-)
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> Linux-atm-general mailing list
> Linux-atm-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-atm-general
> 


^ permalink raw reply

* Re: [PATCH net-next-2.6] IB/{nes,ipoib}: Pass supported flags to ethtool_op_set_flags()
From: Roland Dreier @ 2010-07-03 20:08 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: David Miller, Roland Dreier, Randy Dunlap,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-net-drivers-s/n/eUQHGBpZroRs9YW3xA,
	sgruszka-H+wXaHxf7aLQT0dZR+AlfA,
	amit.salecha-h88ZbnxC6KDQT0dZR+AlfA,
	amwang-H+wXaHxf7aLQT0dZR+AlfA,
	anirban.chakraborty-h88ZbnxC6KDQT0dZR+AlfA,
	dm-ut6Up61K2wZBDgjK7y7TUQ, scofeldm-FYB4Gu1CFyUAvxtiuMwx3w,
	vkolluri-FYB4Gu1CFyUAvxtiuMwx3w, roprabhu-FYB4Gu1CFyUAvxtiuMwx3w,
	e1000-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	buytenh-OLH4Qvv75CYX/NnBR394Jw, gallatin-vV262kQ/Wyo,
	brice-vV262kQ/Wyo, shemminger-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	jgarzik-H+wXaHxf7aLQT0dZR+AlfA, Faisal Latif, Chien Tung,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1278186089.4878.570.camel@localhost>

 > Following commit 1437ce3983bcbc0447a0dedcd644c14fe833d266 "ethtool:
 > Change ethtool_op_set_flags to validate flags", ethtool_op_set_flags
 > takes a third parameter and cannot be used directly as an
 > implementation of ethtool_ops::set_flags.

I assume this commit is in one of Dave's trees and breaks nes and ipoib
because it changed the ethtool_op_set_flags prototype?

 > Dave, Roland, you'd better decide between yourselves should apply this.

Since this depends on a commit already in Dave's tree, Dave should
probably take it into the same tree.  I guess there's no way to roll
this into the original patch to avoid breaking bisects once this ends up
upstream?

anyway,

Acked-by: Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>

 > +static int nes_netdev_set_flags(struct net_device *netdev, u32 flags)
 > +{
 > +	return ethtool_op_set_flags(netdev, flags, ETH_FLAG_LRO);
 > +}
 > +
 > +
 >  static const struct ethtool_ops nes_ethtool_ops = {

Also would have been a bit nicer to avoid adding a double blank line
here, although that's obviously a trivial issue.

 - R.
-- 
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> || For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" 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

* [PATCH net-next-2.6] IB/{nes,ipoib}: Pass supported flags to ethtool_op_set_flags()
From: Ben Hutchings @ 2010-07-03 19:41 UTC (permalink / raw)
  To: David Miller, Roland Dreier
  Cc: Randy Dunlap, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-net-drivers-s/n/eUQHGBpZroRs9YW3xA,
	sgruszka-H+wXaHxf7aLQT0dZR+AlfA,
	amit.salecha-h88ZbnxC6KDQT0dZR+AlfA,
	amwang-H+wXaHxf7aLQT0dZR+AlfA,
	anirban.chakraborty-h88ZbnxC6KDQT0dZR+AlfA,
	dm-ut6Up61K2wZBDgjK7y7TUQ, scofeldm-FYB4Gu1CFyUAvxtiuMwx3w,
	vkolluri-FYB4Gu1CFyUAvxtiuMwx3w, roprabhu-FYB4Gu1CFyUAvxtiuMwx3w,
	e1000-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	buytenh-OLH4Qvv75CYX/NnBR394Jw, gallatin-vV262kQ/Wyo,
	brice-vV262kQ/Wyo, shemminger-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	jgarzik-H+wXaHxf7aLQT0dZR+AlfA, Faisal Latif, Chien Tung,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1278184884.4878.559.camel@localhost>

Following commit 1437ce3983bcbc0447a0dedcd644c14fe833d266 "ethtool:
Change ethtool_op_set_flags to validate flags", ethtool_op_set_flags
takes a third parameter and cannot be used directly as an
implementation of ethtool_ops::set_flags.

Changes nes and ipoib driver to pass in the appropriate value.

Signed-off-by: Ben Hutchings <bhutchings-s/n/eUQHGBpZroRs9YW3xA@public.gmane.org>
---
This is compile-tested only.

Dave, Roland, you'd better decide between yourselves should apply this.

Ben.

 drivers/infiniband/hw/nes/nes_nic.c          |    8 +++++++-
 drivers/infiniband/ulp/ipoib/ipoib_ethtool.c |    7 ++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
index 5cc0a9a..42e7aad 100644
--- a/drivers/infiniband/hw/nes/nes_nic.c
+++ b/drivers/infiniband/hw/nes/nes_nic.c
@@ -1567,6 +1567,12 @@ static int nes_netdev_set_settings(struct net_device *netdev, struct ethtool_cmd
 }
 

+static int nes_netdev_set_flags(struct net_device *netdev, u32 flags)
+{
+	return ethtool_op_set_flags(netdev, flags, ETH_FLAG_LRO);
+}
+
+
 static const struct ethtool_ops nes_ethtool_ops = {
 	.get_link = ethtool_op_get_link,
 	.get_settings = nes_netdev_get_settings,
@@ -1588,7 +1594,7 @@ static const struct ethtool_ops nes_ethtool_ops = {
 	.get_tso = ethtool_op_get_tso,
 	.set_tso = ethtool_op_set_tso,
 	.get_flags = ethtool_op_get_flags,
-	.set_flags = ethtool_op_set_flags,
+	.set_flags = nes_netdev_set_flags,
 };
 

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
index 40e8584..1a1657c 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
@@ -147,6 +147,11 @@ static void ipoib_get_ethtool_stats(struct net_device *dev,
 	data[index++] = priv->lro.lro_mgr.stats.no_desc;
 }
 
+static int ipoib_set_flags(struct net_device *dev, u32 flags)
+{
+	return ethtool_op_set_flags(dev, flags, ETH_FLAG_LRO);
+}
+
 static const struct ethtool_ops ipoib_ethtool_ops = {
 	.get_drvinfo		= ipoib_get_drvinfo,
 	.get_rx_csum		= ipoib_get_rx_csum,
@@ -154,7 +159,7 @@ static const struct ethtool_ops ipoib_ethtool_ops = {
 	.get_coalesce		= ipoib_get_coalesce,
 	.set_coalesce		= ipoib_set_coalesce,
 	.get_flags		= ethtool_op_get_flags,
-	.set_flags		= ethtool_op_set_flags,
+	.set_flags		= ipoib_set_flags,
 	.get_strings		= ipoib_get_strings,
 	.get_sset_count		= ipoib_get_sset_count,
 	.get_ethtool_stats	= ipoib_get_ethtool_stats,
-- 
1.7.1


-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" 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 related

* Re: [PATCH net-next-2.6 1/3] ethtool: Change ethtool_op_set_flags to validate flags
From: Ben Hutchings @ 2010-07-03 19:21 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: David Miller, netdev, linux-net-drivers, sgruszka, amit.salecha,
	amwang, anirban.chakraborty, dm, scofeldm, vkolluri, roprabhu,
	e1000-devel, buytenh, gallatin, brice, shemminger, jgarzik
In-Reply-To: <20100703120729.f2a2715b.randy.dunlap@oracle.com>

On Sat, 2010-07-03 at 12:07 -0700, Randy Dunlap wrote:
> On Fri, 02 Jul 2010 22:07:11 -0700 (PDT) David Miller wrote:
> 
> > From: Randy Dunlap <randy.dunlap@oracle.com>
> > Date: Fri, 2 Jul 2010 09:55:14 -0700
> > 
> > > On Wed, 30 Jun 2010 13:44:32 +0100 Ben Hutchings wrote:
> > >> @@ -457,7 +457,7 @@ int ethtool_op_set_tso(struct net_device *dev, u32 data);
> > >>  u32 ethtool_op_get_ufo(struct net_device *dev);
> > >>  int ethtool_op_set_ufo(struct net_device *dev, u32 data);
> > >>  u32 ethtool_op_get_flags(struct net_device *dev);
> > >> -int ethtool_op_set_flags(struct net_device *dev, u32 data);
> > >> +int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported);
> > > 
> > > That one-line change is missing from linux-next-20100702, causing:
> > > 
> > > drivers/infiniband/ulp/ipoib/ipoib_ethtool.c:157: warning: initialization from incompatible pointer type
> > 
> > Strange, it's in net-next-2.6 for sure:
> > 
> > davem@sunset:~/src/GIT/net-next-2.6$ egrep ethtool_op_set_flags include/linux/ethtool.h
> > int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported);
> 
> Yep, my bad.
> 
> In include/linux/ethtool.h, struct ethtool_ops, field/member 'set_flags':
> 
> 	int	(*set_flags)(struct net_device *, u32);
> 
> Does that need another u32 for 'supported'?  This is where the linux-next
> warnings are coming from.

No, this is intentional.  I just missed the users of
ethtool_op_set_flags() in drivers/infiniband.  I'll send a patch for
those shortly.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* Re: setsockopt(IP_TOS) being privileged or distinct capability?
From: Alexander Clouter @ 2010-07-03 18:55 UTC (permalink / raw)
  To: netdev
In-Reply-To: <4C2F7A55.5090700@redfish-solutions.com>

Philip Prindeville <philipp_subx@redfish-solutions.com> wrote:
>
> Does anyone else think that setsockopt(IP_TOS) should be a privileged 
> operation, perhaps using CAP_NET_ADMIN, or maybe even adding separate 
> granularity as CAP_NET_TOS?
> 
I really would prefer not having to run telnet and ssh *clients* as 
root. :)

Cheers

-- 
Alexander Clouter
.sigmonster says: Someday your prints will come.
                  		-- Kodak


^ permalink raw reply

* Re: [PATCH net-next-2.6 1/3] ethtool: Change ethtool_op_set_flags to validate flags
From: Randy Dunlap @ 2010-07-03 19:07 UTC (permalink / raw)
  To: David Miller
  Cc: amit.salecha, linux-net-drivers, dm, sgruszka, amwang,
	e1000-devel, netdev, anirban.chakraborty, vkolluri, brice,
	gallatin, bhutchings, scofeldm, shemminger, jgarzik, buytenh,
	roprabhu
In-Reply-To: <20100702.220711.39188625.davem@davemloft.net>

On Fri, 02 Jul 2010 22:07:11 -0700 (PDT) David Miller wrote:

> From: Randy Dunlap <randy.dunlap@oracle.com>
> Date: Fri, 2 Jul 2010 09:55:14 -0700
> 
> > On Wed, 30 Jun 2010 13:44:32 +0100 Ben Hutchings wrote:
> >> @@ -457,7 +457,7 @@ int ethtool_op_set_tso(struct net_device *dev, u32 data);
> >>  u32 ethtool_op_get_ufo(struct net_device *dev);
> >>  int ethtool_op_set_ufo(struct net_device *dev, u32 data);
> >>  u32 ethtool_op_get_flags(struct net_device *dev);
> >> -int ethtool_op_set_flags(struct net_device *dev, u32 data);
> >> +int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported);
> > 
> > That one-line change is missing from linux-next-20100702, causing:
> > 
> > drivers/infiniband/ulp/ipoib/ipoib_ethtool.c:157: warning: initialization from incompatible pointer type
> 
> Strange, it's in net-next-2.6 for sure:
> 
> davem@sunset:~/src/GIT/net-next-2.6$ egrep ethtool_op_set_flags include/linux/ethtool.h
> int ethtool_op_set_flags(struct net_device *dev, u32 data, u32 supported);

Yep, my bad.

In include/linux/ethtool.h, struct ethtool_ops, field/member 'set_flags':

	int	(*set_flags)(struct net_device *, u32);

Does that need another u32 for 'supported'?  This is where the linux-next
warnings are coming from.


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired

^ permalink raw reply

* setsockopt(IP_TOS) being privileged or distinct capability?
From: Philip Prindeville @ 2010-07-03 17:58 UTC (permalink / raw)
  To: netdev

Does anyone else think that setsockopt(IP_TOS) should be a privileged 
operation, perhaps using CAP_NET_ADMIN, or maybe even adding separate 
granularity as CAP_NET_TOS?

-Philip


^ permalink raw reply

* (unknown), 
From: MRS.ROSE RAUL @ 2010-07-03 17:33 UTC (permalink / raw)


--
Dear Customer:

You won $ 2,000,000.00USD From the end of the year Microsoft promo
To claim your winnings,You are expected to immediately contact UPS within
24 hours with the following information below.

Full name .....
Sex..........
Age ....
Marital Status......
Occupation.....
Monthly Income:........
Country ....
Address 
Contact ...
Direct Number ....


UPS EXPRESS COURIER CONTACT
Mr. Mike Ali.

upscourierdept0147@gmail.com
Tel: +234 8054 5754 9499

Note: We paid for delivery and payment of their insurance premiums
and is awarded to pay the UPS courier service the sum of
$ 240 USD for its share of security. We could have paid this for you, But we
Do not know when you will be in touch with then.

Once again Congratulations

Mrs.Rose Raul.
ONLINE coordinator 

^ permalink raw reply

* [PATCH 12/19] drivers/net: use for_each_pci_dev()
From: Kulikov Vasiliy @ 2010-07-03 16:04 UTC (permalink / raw)
  To: Kernel Janitors
  Cc: Ramkrishna Vepa, Rastapur Santosh, Sivakumar Subramani,
	Sreenivasa Honnur, David S. Miller, Joe Perches, Jiri Pirko,
	Neil Horman, netdev, linux-kernel

Use for_each_pci_dev() to simplify the code.

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

diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 22371f1..5c2bd50 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -1094,7 +1094,7 @@ static int s2io_verify_pci_mode(struct s2io_nic *nic)
 static int s2io_on_nec_bridge(struct pci_dev *s2io_pdev)
 {
 	struct pci_dev *tdev = NULL;
-	while ((tdev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, tdev)) != NULL) {
+	for_each_pci_dev(tdev) {
 		if (tdev->vendor == NEC_VENID && tdev->device == NEC_DEVID) {
 			if (tdev->bus == s2io_pdev->bus->parent) {
 				pci_dev_put(tdev);
-- 
1.7.0.4


^ permalink raw reply related

* Re: [PATCH 0/4] Introduce and use printk pointer extension %pV
From: Greg KH @ 2010-07-03 16:08 UTC (permalink / raw)
  To: David Miller; +Cc: joe, akpm, linux-kernel, netdev
In-Reply-To: <20100702.223244.193707555.davem@davemloft.net>

On Fri, Jul 02, 2010 at 10:32:44PM -0700, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Wed, 30 Jun 2010 13:07:09 -0700 (PDT)
> 
> > From: Joe Perches <joe@perches.com>
> > Date: Sun, 27 Jun 2010 04:02:32 -0700
> > 
> >> Recursive printk can reduce the total image size of an x86 defconfig about 1% 
> >> by reducing duplicated KERN_<level> strings and centralizing the functions
> >> used by macros in new separate functions.
> >> 
> >> Joe Perches (4):
> >>   vsprintf: Recursive vsnprintf: Add "%pV", struct va_format
> >>   device.h drivers/base/core.c Convert dev_<level> logging macros to functions
> >>   netdevice.h net/core/dev.c: Convert netdev_<level> logging macros to functions
> >>   netdevice.h: Change netif_<level> macros to call netdev_<level> functions
> > 
> > I'm fine with this, thanks Joe.
> > 
> > Greg, could you ACK this and let me know if it's OK if it swings
> > through my net-next-2.6 tree?
> 
> Greg, ping?

Sorry about the delay.

Yes, that's fine to take it through your tree, thanks for doing that:
	Acked-by: Greg Kroah-Hartman <gregkh@suse.de>

greg k-h

^ permalink raw reply

* [PATCH 11/19] drivers/net/irda: use for_each_pci_dev()
From: Kulikov Vasiliy @ 2010-07-03 16:04 UTC (permalink / raw)
  To: Kernel Janitors
  Cc: Samuel Ortiz, David S. Miller, Stephen Hemminger, Jiri Kosina,
	Joe Perches, Eric Dumazet, netdev, linux-kernel

Use for_each_pci_dev() to simplify the code.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
---
 drivers/net/irda/smsc-ircc2.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index d67e484..850ca1c 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -2848,9 +2848,7 @@ static int __init smsc_ircc_preconfigure_subsystems(unsigned short ircc_cfg,
 	unsigned short ss_device = 0x0000;
 	int ret = 0;
 
-	dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
-
-	while (dev != NULL) {
+	for_each_pci_dev(dev) {
 		struct smsc_ircc_subsystem_configuration *conf;
 
 		/*
@@ -2899,7 +2897,6 @@ static int __init smsc_ircc_preconfigure_subsystems(unsigned short ircc_cfg,
 					ret = -ENODEV;
 			}
 		}
-		dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev);
 	}
 
 	return ret;
-- 
1.7.0.4

^ permalink raw reply related

* [PATCH] net/ne: fix memory leak in ne_drv_probe()
From: Kulikov Vasiliy @ 2010-07-03 15:20 UTC (permalink / raw)
  To: Kernel Janitors
  Cc: David S. Miller, Joe Perches, Atsushi Nemoto, netdev,
	linux-kernel

net_device allocated with alloc_eip_netdev() must be freed.

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

diff --git a/drivers/net/ne.c b/drivers/net/ne.c
index b8e2923..1063093 100644
--- a/drivers/net/ne.c
+++ b/drivers/net/ne.c
@@ -796,28 +796,30 @@ static int __init ne_drv_probe(struct platform_device *pdev)
 	dev = alloc_eip_netdev();
 	if (!dev)
 		return -ENOMEM;
 
 	/* ne.c doesn't populate resources in platform_device, but
 	 * rbtx4927_ne_init and rbtx4938_ne_init do register devices
 	 * with resources.
 	 */
 	res = platform_get_resource(pdev, IORESOURCE_IO, 0);
 	if (res) {
 		dev->base_addr = res->start;
 		dev->irq = platform_get_irq(pdev, 0);
 	} else {
-		if (this_dev < 0 || this_dev >= MAX_NE_CARDS)
+		if (this_dev < 0 || this_dev >= MAX_NE_CARDS) {
+			free_netdev(dev);
 			return -EINVAL;
+		}
 		dev->base_addr = io[this_dev];
 		dev->irq = irq[this_dev];
 		dev->mem_end = bad[this_dev];
 	}
 	err = do_ne_probe(dev);
 	if (err) {
 		free_netdev(dev);
 		return err;
 	}
 	platform_set_drvdata(pdev, dev);
 
 	/* Update with any values found by probing, don't update if
 	 * resources were specified.
-- 
1.7.0.4

^ permalink raw reply related

* Re: [GIT PULL rcu/urgent] revert ->br_port fix, obsoleted by netdev commit
From: Ingo Molnar @ 2010-07-03 13:11 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, arnd, davem, shemminger, netdev, eric.dumazet, sfr
In-Reply-To: <20100701215655.GA24450@linux.vnet.ibm.com>


* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> Hello, Ingo,
> 
> This pull request reverts commit 81bdf5bd, which has been obsoleted
> by commit f350a0a87374 from the netdev folks.  This conflict was caught
> in the -next tree.
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/next
> 
> 							Thanx, Paul
> 
> ------------------>
> Paul E. McKenney (1):
>       Revert "net: Make accesses to ->br_port safe for sparse RCU"
> 
>  include/linux/if_bridge.h           |    3 ---
>  net/bridge/br_fdb.c                 |    2 +-
>  net/bridge/br_private.h             |    5 -----
>  net/bridge/netfilter/ebt_redirect.c |    2 +-
>  net/bridge/netfilter/ebt_ulog.c     |    4 ++--
>  net/bridge/netfilter/ebtables.c     |    4 ++--
>  net/netfilter/nfnetlink_log.c       |    4 ++--
>  net/netfilter/nfnetlink_queue.c     |    4 ++--
>  8 files changed, 10 insertions(+), 18 deletions(-)

Pulled, thanks a lot Paul!

	Ingo

^ permalink raw reply

* Re: [RFC PATCH v7 01/19] Add a new structure for skb buffer from external.
From: Herbert Xu @ 2010-07-03  9:12 UTC (permalink / raw)
  To: Xin, Xiaohui
  Cc: Dong, Eddie, Stephen Hemminger, netdev@vger.kernel.org,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mst@redhat.com,
	mingo@elte.hu, davem@davemloft.net, jdike@linux.intel.com
In-Reply-To: <F2E9EB7348B8264F86B6AB8151CE2D7916B0129230@shsmsx502.ccr.corp.intel.com>

On Mon, Jun 28, 2010 at 05:56:07PM +0800, Xin, Xiaohui wrote:
>
> >OK, if I understand you correctly then I don't think have a
> >problem.  With your current patch-set you have exactly the same
> >situation when the skb->data is reallocated as a kernel buffer.
> 
> When will skb->data to be reallocated? May you point me the code path?

Anything that calls pskb_expand_head.

> >This is OK because as you correctly argue, it is a rare situation.
> >
> >With my proposal you will need to get this extra external buffer
> >in even less cases, because you'd only need to do it if the skb
> >head grows, which only happens if it becomes encapsulated.
> >So let me explain it in a bit more detail:
> >
> >Our packet starts out as a purely non-linear skb, i.e., skb->head
> >contains nothing and all the page frags come from the guest.
> >
> >During host processing we may pull data into skb->head but the
> >first frag will remain unless we pull all of it.  If we did do
> >that then you would have a free external buffer anyway.
> >
> >Now in the common case the header may be modified or pulled, but
> >it very rarely grows.  So you can just copy the header back into
> >the first frag just before we give it to the guest.
> >
> Since the data is still there, so recompute the page offset and size is ok, right?

Right, you just move the page offset back and increase the size.
However, to do this safely we'd need to have a way of knowing
whether the skb head has been modified.

It may well turn out to be just as effective to do something like

	if (memcmp(skb->data, page frag head, skb_headlen))
		memcpy(page frag head, skb->data, skb_headlen)

As the page frag head should be in cache since it would've been
used to populate skb->data.

It'd be good to run some benchmarks with this to see whether
adding a bit to sk_buff to avoid the memcmp is worth it or not.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ 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