[E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Stefan Assmann
From: Stefan Assmann 

It looks like the VFs get initialized before all the PFs are. Therefore
the udev mapping MAC <-> ethX (for PFs) gets screwed because the VFs
may grab the ethX interface names (reserved by udev) for the PFs.

Example:
igb max_vfs=0
eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
eth1  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
eth2  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
eth3  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
igb max_vfs=1
eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
eth1  Link encap:Ethernet  HWaddr 0A:CF:41:69:F7:A9
eth2  Link encap:Ethernet  HWaddr 3A:FE:20:4C:2A:3B
eth3  Link encap:Ethernet  HWaddr C6:C3:B1:56:C9:A4
eth3_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
eth4  Link encap:Ethernet  HWaddr 6E:8A:8A:A3:5F:69
eth4_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
eth5_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1

In the example above VF 0A:CF:41:69:F7:A9 grabs eth1 but udev
has a rule that says eth1 should be assigned PF 00:13:20:F7:A5:9F
(eth3_rename) and waits for the VF to disappear to rename eth3_rename
to eth1. Unfortunately eth1 is not going to disappear.
This is not a udev bug since udev doesn't create persistent rules for
VFs as their MAC address changes every reboot.

To avoid this problem we could change the kernel name for the VFs and
thus avoid confusion between VFs and PFs.

I've already discussed this with Alexander Duyck and Greg Rose, so far
they have no objection. However this problem appears for all drivers that
support PFs and VFs and thus the changes should be applied consistently
to all of these drivers.

Signed-off-by: Stefan Assmann 
---
 drivers/net/igbvf/netdev.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/igbvf/netdev.c b/drivers/net/igbvf/netdev.c
index 5e2b2a8..2fb665b 100644
--- a/drivers/net/igbvf/netdev.c
+++ b/drivers/net/igbvf/netdev.c
@@ -2787,7 +2787,7 @@ static int __devinit igbvf_probe(struct pci_dev *pdev,
netif_carrier_off(netdev);
netif_stop_queue(netdev);

-   strcpy(netdev->name, "eth%d");
+   strcpy(netdev->name, "veth%d");
err = register_netdev(netdev);
if (err)
goto err_hw_init;
-- 
1.6.5.2


--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Stefan Assmann
On 30.06.2010 12:44, Ben Hutchings wrote:
> On Wed, 2010-06-30 at 10:53 +0200, Stefan Assmann wrote:
>> From: Stefan Assmann 
>>
>> It looks like the VFs get initialized before all the PFs are. Therefore
>> the udev mapping MAC <-> ethX (for PFs) gets screwed because the VFs
>> may grab the ethX interface names (reserved by udev) for the PFs.
>>
>> Example:
>> igb max_vfs=0
>> eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
>> eth1  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
>> eth2  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
>> eth3  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
>> igb max_vfs=1
>> eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
>> eth1  Link encap:Ethernet  HWaddr 0A:CF:41:69:F7:A9
>> eth2  Link encap:Ethernet  HWaddr 3A:FE:20:4C:2A:3B
>> eth3  Link encap:Ethernet  HWaddr C6:C3:B1:56:C9:A4
>> eth3_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
>> eth4  Link encap:Ethernet  HWaddr 6E:8A:8A:A3:5F:69
>> eth4_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
>> eth5_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
>>
>> In the example above VF 0A:CF:41:69:F7:A9 grabs eth1 but udev
>> has a rule that says eth1 should be assigned PF 00:13:20:F7:A5:9F
>> (eth3_rename) and waits for the VF to disappear to rename eth3_rename
>> to eth1. Unfortunately eth1 is not going to disappear.
>> This is not a udev bug since udev doesn't create persistent rules for
>> VFs as their MAC address changes every reboot.
> [...]
> 
> I think it is a bug in the udev rules: udev should rename the VFs even
> though their names won't be persistent.

In that case let's Cc udev people.

  Stefan
--
Stefan Assmann | Red Hat GmbH
Software Engineer  | Otto-Hahn-Strasse 20, 85609 Dornach
   | HR: Amtsgericht Muenchen HRB 153243
   | GF: Brendan Lane, Charlie Peters,
sassmann at redhat.com | Michael Cunningham, Charles Cachera

--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Ben Hutchings
On Wed, 2010-06-30 at 10:53 +0200, Stefan Assmann wrote:
> From: Stefan Assmann 
> 
> It looks like the VFs get initialized before all the PFs are. Therefore
> the udev mapping MAC <-> ethX (for PFs) gets screwed because the VFs
> may grab the ethX interface names (reserved by udev) for the PFs.
> 
> Example:
> igb max_vfs=0
> eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
> eth1  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
> eth2  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
> eth3  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
> igb max_vfs=1
> eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
> eth1  Link encap:Ethernet  HWaddr 0A:CF:41:69:F7:A9
> eth2  Link encap:Ethernet  HWaddr 3A:FE:20:4C:2A:3B
> eth3  Link encap:Ethernet  HWaddr C6:C3:B1:56:C9:A4
> eth3_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
> eth4  Link encap:Ethernet  HWaddr 6E:8A:8A:A3:5F:69
> eth4_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
> eth5_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
> 
> In the example above VF 0A:CF:41:69:F7:A9 grabs eth1 but udev
> has a rule that says eth1 should be assigned PF 00:13:20:F7:A5:9F
> (eth3_rename) and waits for the VF to disappear to rename eth3_rename
> to eth1. Unfortunately eth1 is not going to disappear.
> This is not a udev bug since udev doesn't create persistent rules for
> VFs as their MAC address changes every reboot.
[...]

I think it is a bug in the udev rules: udev should rename the VFs even
though their names won't be persistent.

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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Kay Sievers
On Wed, Jun 30, 2010 at 12:57, Stefan Assmann  wrote:
> On 30.06.2010 12:44, Ben Hutchings wrote:
>> On Wed, 2010-06-30 at 10:53 +0200, Stefan Assmann wrote:
>>> From: Stefan Assmann 
>>>
>>> It looks like the VFs get initialized before all the PFs are. Therefore
>>> the udev mapping MAC <-> ethX (for PFs) gets screwed because the VFs
>>> may grab the ethX interface names (reserved by udev) for the PFs.
>>>
>>> Example:
>>> igb max_vfs=0
>>> eth0      Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
>>> eth1      Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
>>> eth2      Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
>>> eth3      Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
>>> igb max_vfs=1
>>> eth0      Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
>>> eth1      Link encap:Ethernet  HWaddr 0A:CF:41:69:F7:A9
>>> eth2      Link encap:Ethernet  HWaddr 3A:FE:20:4C:2A:3B
>>> eth3      Link encap:Ethernet  HWaddr C6:C3:B1:56:C9:A4
>>> eth3_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
>>> eth4      Link encap:Ethernet  HWaddr 6E:8A:8A:A3:5F:69
>>> eth4_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
>>> eth5_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
>>>
>>> In the example above VF 0A:CF:41:69:F7:A9 grabs eth1 but udev
>>> has a rule that says eth1 should be assigned PF 00:13:20:F7:A5:9F
>>> (eth3_rename) and waits for the VF to disappear to rename eth3_rename
>>> to eth1. Unfortunately eth1 is not going to disappear.
>>> This is not a udev bug since udev doesn't create persistent rules for
>>> VFs as their MAC address changes every reboot.
>> [...]
>>
>> I think it is a bug in the udev rules: udev should rename the VFs even
>> though their names won't be persistent.

Udev writes out these configs to a rules file, and therefore can never
handle random MAC addresses, as they would just accumulate in the
rules file with a new entry at every bootup.

Stuff like this is just not supported at the moment with the rather
simple logic it has, and there is no current plan/idea, or anybody
working on changing/improving this at the moment.

Kay

--
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® Ethernet, visit 
http://communities.intel.com/community/wired


[E1000-devel] [PATCH net-next-2.6 1/3] ethtool: Change ethtool_op_set_flags to validate flags

2010-06-30 Thread Ben Hutchings
ethtool_op_set_flags() does not check for unsupported flags, and has
no way of doing so.  This means it is not suitable for use as a
default implementation of ethtool_ops::set_flags.

Add a 'supported' parameter specifying the flags that the driver and
hardware support, validate the requested flags against this, and
change all current callers to pass this parameter.

Change some other trivial implementations of ethtool_ops::set_flags to
call ethtool_op_set_flags().

Signed-off-by: Ben Hutchings 
Reviewed-by: Stanislaw Gruszka 
Acked-by: Jeff Garzik 
---
 drivers/net/cxgb4/cxgb4_main.c|9 +
 drivers/net/enic/enic_main.c  |1 -
 drivers/net/ixgbe/ixgbe_ethtool.c |5 -
 drivers/net/mv643xx_eth.c |7 ++-
 drivers/net/myri10ge/myri10ge.c   |   10 +++---
 drivers/net/niu.c |9 +
 drivers/net/sfc/ethtool.c |5 +
 drivers/net/sky2.c|   16 ++--
 include/linux/ethtool.h   |2 +-
 net/core/ethtool.c|   28 +---
 10 files changed, 32 insertions(+), 60 deletions(-)

diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
index 6528167..55a720e 100644
--- a/drivers/net/cxgb4/cxgb4_main.c
+++ b/drivers/net/cxgb4/cxgb4_main.c
@@ -1799,14 +1799,7 @@ static int set_tso(struct net_device *dev, u32 value)
 
 static int set_flags(struct net_device *dev, u32 flags)
 {
-   if (flags & ~ETH_FLAG_RXHASH)
-   return -EOPNOTSUPP;
-
-   if (flags & ETH_FLAG_RXHASH)
-   dev->features |= NETIF_F_RXHASH;
-   else
-   dev->features &= ~NETIF_F_RXHASH;
-   return 0;
+   return ethtool_op_set_flags(dev, flags, ETH_FLAG_RXHASH);
 }
 
 static struct ethtool_ops cxgb_ethtool_ops = {
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 6c6795b..77a7f87 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -365,7 +365,6 @@ static const struct ethtool_ops enic_ethtool_ops = {
.get_coalesce = enic_get_coalesce,
.set_coalesce = enic_set_coalesce,
.get_flags = ethtool_op_get_flags,
-   .set_flags = ethtool_op_set_flags,
 };
 
 static void enic_free_wq_buf(struct vnic_wq *wq, struct vnic_wq_buf *buf)
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c 
b/drivers/net/ixgbe/ixgbe_ethtool.c
index 873b45e..7d2e5ea 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -2205,8 +2205,11 @@ static int ixgbe_set_flags(struct net_device *netdev, 
u32 data)
 {
struct ixgbe_adapter *adapter = netdev_priv(netdev);
bool need_reset = false;
+   int rc;
 
-   ethtool_op_set_flags(netdev, data);
+   rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_LRO | ETH_FLAG_NTUPLE);
+   if (rc)
+   return rc;
 
/* if state changes we need to update adapter->flags and reset */
if (adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE) {
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index e345ec8..82b720f 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -1636,6 +1636,11 @@ static void mv643xx_eth_get_ethtool_stats(struct 
net_device *dev,
}
 }
 
+static int mv643xx_eth_set_flags(struct net_device *dev, u32 data)
+{
+   return ethtool_op_set_flags(dev, data, ETH_FLAG_LRO);
+}
+
 static int mv643xx_eth_get_sset_count(struct net_device *dev, int sset)
 {
if (sset == ETH_SS_STATS)
@@ -1661,7 +1666,7 @@ static const struct ethtool_ops mv643xx_eth_ethtool_ops = 
{
.get_strings= mv643xx_eth_get_strings,
.get_ethtool_stats  = mv643xx_eth_get_ethtool_stats,
.get_flags  = ethtool_op_get_flags,
-   .set_flags  = ethtool_op_set_flags,
+   .set_flags  = mv643xx_eth_set_flags,
.get_sset_count = mv643xx_eth_get_sset_count,
 };
 
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index e0b47cc..d771d16 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -1730,8 +1730,7 @@ static int myri10ge_set_rx_csum(struct net_device 
*netdev, u32 csum_enabled)
if (csum_enabled)
mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
else {
-   u32 flags = ethtool_op_get_flags(netdev);
-   err = ethtool_op_set_flags(netdev, (flags & ~ETH_FLAG_LRO));
+   netdev->features &= ~NETIF_F_LRO;
mgp->csum_flag = 0;
 
}
@@ -1900,6 +1899,11 @@ static u32 myri10ge_get_msglevel(struct net_device 
*netdev)
return mgp->msg_enable;
 }
 
+static int myri10ge_set_flags(struct net_device *netdev, u32 value)
+{
+   return ethtool_op_set_flags(netdev, value, ETH_FLAG_LRO);
+}
+
 static const struct ethtool_ops myri10ge_ethtool_ops = {
.get_settings = myri10ge_get_settings,
.get_drvinfo = myri10ge_get_drvinfo,

Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Harald Hoyer
On 06/30/2010 01:11 PM, Kay Sievers wrote:
> On Wed, Jun 30, 2010 at 12:57, Stefan Assmann  wrote:
>> On 30.06.2010 12:44, Ben Hutchings wrote:
>>> On Wed, 2010-06-30 at 10:53 +0200, Stefan Assmann wrote:
 From: Stefan Assmann

 It looks like the VFs get initialized before all the PFs are. Therefore
 the udev mapping MAC<->  ethX (for PFs) gets screwed because the VFs
 may grab the ethX interface names (reserved by udev) for the PFs.

 Example:
 igb max_vfs=0
 eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
 eth1  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
 eth2  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
 eth3  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1
 igb max_vfs=1
 eth0  Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9E
 eth1  Link encap:Ethernet  HWaddr 0A:CF:41:69:F7:A9
 eth2  Link encap:Ethernet  HWaddr 3A:FE:20:4C:2A:3B
 eth3  Link encap:Ethernet  HWaddr C6:C3:B1:56:C9:A4
 eth3_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:9F
 eth4  Link encap:Ethernet  HWaddr 6E:8A:8A:A3:5F:69
 eth4_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A0
 eth5_rename Link encap:Ethernet  HWaddr 00:13:20:F7:A5:A1

 In the example above VF 0A:CF:41:69:F7:A9 grabs eth1 but udev
 has a rule that says eth1 should be assigned PF 00:13:20:F7:A5:9F
 (eth3_rename) and waits for the VF to disappear to rename eth3_rename
 to eth1. Unfortunately eth1 is not going to disappear.
 This is not a udev bug since udev doesn't create persistent rules for
 VFs as their MAC address changes every reboot.
>>> [...]
>>>
>>> I think it is a bug in the udev rules: udev should rename the VFs even
>>> though their names won't be persistent.
>
> Udev writes out these configs to a rules file, and therefore can never
> handle random MAC addresses, as they would just accumulate in the
> rules file with a new entry at every bootup.
>
> Stuff like this is just not supported at the moment with the rather
> simple logic it has, and there is no current plan/idea, or anybody
> working on changing/improving this at the moment.
>
> Kay

Solution: move away from the "eth*" namespace and use "net*" for configured 
interfaces.

--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] very weird dhcp problem ...

2010-06-30 Thread K. Posern
On 29/06/10 14:51, Allan, Bruce W wrote:
> On Tuesday, June 29, 2010 9:14 AM, K. Posern wrote:
>> Hi,
>>
>> I really hope you might give me a hint and/or can refer me to somebody
>> to help me with the below problem.
>>
>> I am having a really weird problem with getting an IP with dhcp.
>> BUT only at my work place - and it works fine for everybody else there
>> AND it works fine for me if I MANUALLY run the dhcp-client!
>>
>> ...
>>
>> And honestly I have no clue anymore :(
>> And I am beginning to think that this /must/ be a bug somewhere. But I
>> have even no clue in which of the involded components the problem
>> could reside (as P.S. to this mail I listed details about all involved
>> components).
>>
>> So here are the 2 ways of invoking the dhcp client I am using:
>>
>> /1st/
>> I am using netplugd (see /// ABOUT MY MACHINE ///) to start either the
>> gentoo startup-script /etc/init.d/net.eth0 which then starts the dhcp
>> client /OR/ a script started by netplugd (both ran as root) to start
>> the dhcp program.
>> And this JUST DOES NOT WORK:
>>
>> I can see with ps the dhcp client running:
>>  pixel ~ # ps faux|grep -i dhc
>>  root   332  0.0  0.0   4200   616 pts/6S+   22:22   0:00
>>|   \_ grep --colour=auto -i dhc
>>  root 32751  0.0  0.0   1828   308 ?Ss   22:22   0:00
>> /sbin/dhcpcd eth0
>>
>> And I see its output in the syslog:
>>  Jun 28 17:27:45 [dhcpcd] eth0: dhcpcd 4.0.15 starting
>>  Jun 28 17:27:45 [dhcpcd] eth0: broadcasting for a lease
>>  Jun 28 17:27:57 [acpid] ACPI Battery Event: 88%
>>  - Last output repeated 2 times -
>>  Jun 28 17:28:15 [dhcpcd] eth0: timed out
>>
>> And I can see the dhcp/bootp packets:
>>  I captured the attached network traffic with wireshark.
>>
>>  There you can see: Repeated dhcp requests
>>  (until the dhcp times out), but no responses!
>>
>> /2nd/
>> As root I copy and paste the exact command I see in ps above and
>> voila. 
>> In about 1 second I get my ip!
>>
>> Again the syslog:
>>  Jun 28 17:28:54 [dhcpcd] eth0: dhcpcd 4.0.15 starting
>>  Jun 28 17:28:55 [dhcpcd] eth0: broadcasting for a lease
>>  Jun 28 17:28:55 [dhcpcd] eth0: offered 192.168.0.64 from 192.168.0.1
>>  Jun 28 17:28:55 [dhcpcd] eth0: acknowledged 192.168.0.64 from
>>  192.168.0.1 Jun 28 17:28:55 [dhcpcd] eth0: checking 192.168.0.64 is
>> available on attached networks
>>
>> In the attached wireshark capture I have two files: one complete
>> capture and one filtered for bootp. For now I only attached the
>> filtered one. 
>> In there you will find first the above failure and then the above
>> success (to the LAST of the dhcp requests, is the one triggered by the
>> /2nd/ trial all the other requests before belong to the failed /1st/
>> trial). I also (tried to) compare the packets (I picked the FIRST
>> dhcp request (of the failed /1st/ trial) and the dhcp-request of the
>> successful /2nd/ trial: I only see a different transactionID and
>> thous two different hashsums, otherwise they seem bit for bit
>> identical! 
>>
>> As dhcp clients I already tried these both: dhcpcd and pump (see ///
>> ABOUT MY MACHINE ///).
>> --> Identical results.
>>
>> I also tried to invoke the dhcp client instead of just:
>>  /sbin/dhcpcd eth0
>> within a login shell to avoid any ENVIRONMENT differences:
>>  /bin/sh -l -c '/sbin/dhcpcd eth0'
>> --> Identical results.
>>
>> In the P.S. you will find more details about "ALL THE INVOLVED
>> COMPONENTS". 
>>
>> So I honestly don't know what to do anymore. But I would like to
>> UNDERSTAND WHY it is not working even though it should be working and
>> even though I see the identical dhcp-request two times on the wire,
>> but 
>> in only ONE case I get a response in the other I get seemingly nothing
>> back!?
>>
>> Any help/hint is greatly appreciated.
>> And of course I would be eager to provide you with any more debug
>> information you could/would need!
>>
>> Thanks a lot!!!
>>
>> Best,
>>
>> Knuth
>>
>>
>> P.S.: ALL THE INVOLVED COMPONENTS:
>>
>> /
>> /// ABOUT MY MACHINE ///
>> I am using a TOSHIBA notebook with an INTEL network adapter:
>> 01:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet
>> Controller
>>
>> Wireless is turned off.
>>
>> uname -a:
>> Linux pixel 2.6.31.3-nogo-pixel #1 SMP PREEMPT Mon Dec 7 01:14:18 EST
>> 2009 i686 Intel(R) Core(TM)2 CPU U7600 @ 1.20GHz GenuineIntel
>> GNU/Linux 
>>
>> Gentoo Linux 32-bit
>>
>> The dhcp clients I am using:
>> [I] net-misc/dhcpcd
>>  Installed versions:  4.0.15(02:33:39 03/12/09)(compat -zeroconf)
>>
>> [I] net-misc/pump
>>  Installed versions:  0.8.24-r3(02:41:08 03/12/09)
>>
>> The netplug I am using:
>> [I] sys-apps/netplug
>>  Installed versions:  1.2.9.1(20:57:30 27/09/09)
>>
>> When I am using netplugd it seems to work just fine:
>> If I plug the network cable --> I see in the syslog:
>> Jun 29 09:49:08 [netplugd] eth0:

Re: [E1000-devel] very weird dhcp problem ...

2010-06-30 Thread Allan, Bruce W
On Wednesday, June 30, 2010 10:09 AM, K. Posern wrote:
> Hi,
> 
> Thanks for the answer!
> 
> Just to confirm that my problem is clear:
> pump and dhcpcd work, but only when I invoke it on the command line.
> 
> I checked what my colleagues with their Ubuntu distros use:
>   dhclient v3.1
> 
> I tried dhclient v3.1.2 --> it worked! Below you will see the syslog:
> It 
> is *much* slower though than dhclient or pump when run from
> commandline!? 
> 
> I just updated to the latest (available) version of dhcpcd (v5.2.5)
> (Because the author of dhcpcd answered me:
> )
> But it seems to have the SAME problem like the v4 I used before:
>   Jun 30 12:55:01 [dhcpcd] version 5.2.5 starting
>   Jun 30 12:55:02 [dhcpcd] eth0: broadcasting for a lease
>   Jun 30 12:55:12 [acpid] ACPI Battery Event: 50%
>   - Last output repeated twice -
>   Jun 30 12:55:32 [dhcpcd] timed out
> 
> 
> Should I still look into the latest driver from
> http://e1000.sourceforge.net driver (and see if this makes any
> difference on the 3 dhcp clients at hand)?
> 
> If you want I can help you debug some more!
> Or does this mean that it *must* be a dhcpcd/pump client problem at
> this point?!
> 
> Thanks!
> 
> Knuth
> 
> P.S.
> 
> Here is the successfull run of dhclient:
> 
> Jun 30 13:00:12 [dhclient] Internet Systems Consortium DHCP Client
> V3.1.2p1-Gentoo
> Jun 30 13:00:12 [dhclient] Copyright 2004-2009 Internet Systems
> Consortium. Jun 30 13:00:12 [dhclient] All rights reserved.
> Jun 30 13:00:12 [dhclient] For info, please visit
> http://www.isc.org/sw/dhcp/
> Jun 30 13:00:13 [dhclient] Listening on LPF/eth0/00:1c:7e:0e:f6:1e
> Jun 30 13:00:13 [dhclient] Sending on   LPF/eth0/00:1c:7e:0e:f6:1e
> Jun 30 13:00:13 [dhclient] Sending on   Socket/fallback
> Jun 30 13:00:13 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
> port 67 Jun 30 13:00:14 [acpid] ACPI Battery Event: 53%
> Jun 30 13:00:17 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
> port 67 Jun 30 13:00:27 [dhclient] DHCPDISCOVER on eth0 to
> 255.255.255.255 port 67 interval 5
> Jun 30 13:00:30 [acpid] ACPI Battery Event: 53%
> Jun 30 13:00:32 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
> port 67 interval 6
> Jun 30 13:00:38 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
> port 67 interval 14
> Jun 30 13:00:46 [acpid] ACPI Battery Event: 54%
> Jun 30 13:00:52 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
> port 67 interval 19
> Jun 30 13:00:52 [dhclient] DHCPOFFER from 192.168.0.1
> Jun 30 13:00:52 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
> port 67 Jun 30 13:00:52 [dhclient] DHCPACK from 192.168.0.1
> Jun 30 13:00:52 [dhclient] bound to 192.168.0.64 -- renewal in 2866
> seconds. 

If you have the time, it would be great if you could try the latest e1000e 
driver (vers 1.2.8) from e1000.sf.net - I am wondering if the changes to the 
driver's link reporting code (one change that went into the kernel for 2.6.29 
and another that went in for 2.6.33) may have broken interoperability with 
dhcpcd.  The sourceforge driver has yet another change that might fix any such 
issue.

Thanks,
Bruce.



--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Casey Leedom
| From: Stefan Assmann 
| Date: Wednesday, June 30, 2010 01:53 am
| 
| This is not a udev bug since udev doesn't create persistent rules for
| VFs as their MAC address changes every reboot.
| 
| To avoid this problem we could change the kernel name for the VFs and
| thus avoid confusion between VFs and PFs.
| 
| I've already discussed this with Alexander Duyck and Greg Rose, so far
| they have no objection. However this problem appears for all drivers that
| support PFs and VFs and thus the changes should be applied consistently
| to all of these drivers.

  I'm not sure that this problem affects "all drivers which support PFs and 
VFs."  
I think that you might mean "all drivers which support PFs and VFs with non-
persistent MAC addresses for the VFs."  For instance, the MAC addresses 
associated with the new cxgb4vf VFs are persistent so, from what I understand 
of 
the scenario you outlined, I don't think that they would trigger the problem 
you 
describe.  Please correct me if I've missed something.  Thanks.

Casey

--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] [PATCH net-next-2.6 1/3] ethtool: Change ethtool_op_set_flags to validate flags

2010-06-30 Thread David Miller
From: Ben Hutchings 
Date: Wed, 30 Jun 2010 13:44:32 +0100

> ethtool_op_set_flags() does not check for unsupported flags, and has
> no way of doing so.  This means it is not suitable for use as a
> default implementation of ethtool_ops::set_flags.
> 
> Add a 'supported' parameter specifying the flags that the driver and
> hardware support, validate the requested flags against this, and
> change all current callers to pass this parameter.
> 
> Change some other trivial implementations of ethtool_ops::set_flags to
> call ethtool_op_set_flags().
> 
> Signed-off-by: Ben Hutchings 
> Reviewed-by: Stanislaw Gruszka 
> Acked-by: Jeff Garzik 

Applied.

--
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® Ethernet, visit 
http://communities.intel.com/community/wired


Re: [E1000-devel] very weird dhcp problem ...

2010-06-30 Thread K. Posern
On 30/06/10 13:50, Allan, Bruce W wrote:
> On Wednesday, June 30, 2010 10:09 AM, K. Posern wrote:
>> Hi,
>>
>> Thanks for the answer!
>>
>> Just to confirm that my problem is clear:
>> pump and dhcpcd work, but only when I invoke it on the command line.
>>
>> I checked what my colleagues with their Ubuntu distros use:
>>  dhclient v3.1
>>
>> I tried dhclient v3.1.2 --> it worked! Below you will see the syslog:
>> It 
>> is *much* slower though than dhclient or pump when run from
>> commandline!? 
>>
>> I just updated to the latest (available) version of dhcpcd (v5.2.5)
>> (Because the author of dhcpcd answered me:
>> )
>> But it seems to have the SAME problem like the v4 I used before:
>>  Jun 30 12:55:01 [dhcpcd] version 5.2.5 starting
>>  Jun 30 12:55:02 [dhcpcd] eth0: broadcasting for a lease
>>  Jun 30 12:55:12 [acpid] ACPI Battery Event: 50%
>>  - Last output repeated twice -
>>  Jun 30 12:55:32 [dhcpcd] timed out
>>
>>
>> Should I still look into the latest driver from
>> http://e1000.sourceforge.net driver (and see if this makes any
>> difference on the 3 dhcp clients at hand)?
>>
>> If you want I can help you debug some more!
>> Or does this mean that it *must* be a dhcpcd/pump client problem at
>> this point?!
>>
>> Thanks!
>>
>> Knuth
>>
>> P.S.
>>
>> Here is the successfull run of dhclient:
>>
>> Jun 30 13:00:12 [dhclient] Internet Systems Consortium DHCP Client
>> V3.1.2p1-Gentoo
>> Jun 30 13:00:12 [dhclient] Copyright 2004-2009 Internet Systems
>> Consortium. Jun 30 13:00:12 [dhclient] All rights reserved.
>> Jun 30 13:00:12 [dhclient] For info, please visit
>> http://www.isc.org/sw/dhcp/
>> Jun 30 13:00:13 [dhclient] Listening on LPF/eth0/00:1c:7e:0e:f6:1e
>> Jun 30 13:00:13 [dhclient] Sending on   LPF/eth0/00:1c:7e:0e:f6:1e
>> Jun 30 13:00:13 [dhclient] Sending on   Socket/fallback
>> Jun 30 13:00:13 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
>> port 67 Jun 30 13:00:14 [acpid] ACPI Battery Event: 53%
>> Jun 30 13:00:17 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
>> port 67 Jun 30 13:00:27 [dhclient] DHCPDISCOVER on eth0 to
>> 255.255.255.255 port 67 interval 5
>> Jun 30 13:00:30 [acpid] ACPI Battery Event: 53%
>> Jun 30 13:00:32 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
>> port 67 interval 6
>> Jun 30 13:00:38 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
>> port 67 interval 14
>> Jun 30 13:00:46 [acpid] ACPI Battery Event: 54%
>> Jun 30 13:00:52 [dhclient] DHCPDISCOVER on eth0 to 255.255.255.255
>> port 67 interval 19
>> Jun 30 13:00:52 [dhclient] DHCPOFFER from 192.168.0.1
>> Jun 30 13:00:52 [dhclient] DHCPREQUEST on eth0 to 255.255.255.255
>> port 67 Jun 30 13:00:52 [dhclient] DHCPACK from 192.168.0.1
>> Jun 30 13:00:52 [dhclient] bound to 192.168.0.64 -- renewal in 2866
>> seconds. 
> 
> If you have the time, it would be great if you could try the latest e1000e 
> driver (vers 1.2.8) from e1000.sf.net - I am wondering if the changes to the 
> driver's link reporting code (one change that went into the kernel for 2.6.29 
> and another that went in for 2.6.33) may have broken interoperability with 
> dhcpcd.  The sourceforge driver has yet another change that might fix any 
> such issue.

So here are the results with e100e v1.2.8 (details see below) - in
comparison with the in-kernel 2.6.31.3 driver:

* dhclient v3.1.2: Still working (when called within the init script
/or/ via netplugd - only works, when called from a root terminal) -
syslog details below
But much slower than on the commandline - details below

* dhcpcd v5.1.5: Still not working (when called within the init script
/or/ via netplugd - only works, when called from a root terminal) -
syslog details below

* pump v0.8.24: Still not working (when called within the init script
/or/ via netplugd - only works, when called from a root terminal) -
syslog details below


On Friday I might be able to get packet-dumps for the 3 dhcp-clients if
this would help?!


Best,


Knuth


P.S.:

 E1000E MODULE INIT 
Jun 30 18:07:25 [kernel] [ 2205.043312] e1000e: Intel(R) PRO/1000
Network Driver - 1.2.8-NAPI
Jun 30 18:07:25 [kernel] [ 2205.043318] e1000e: Copyright(c) 1999 - 2010
Intel Corporation.
Jun 30 18:07:25 [kernel] [ 2205.043482] e1000e :01:00.0: PCI INT A
-> GSI 16 (level, low) -> IRQ 16
Jun 30 18:07:25 [kernel] [ 2205.043613] e1000e :01:00.0: setting
latency timer to 64
Jun 30 18:07:25 [kernel] [ 2205.044461] e1000e :01:00.0:
(unregistered net_device): Failed to initialize MSI interrupts.  Falling
back to legacy interrupts.
Jun 30 18:07:25 [kernel] [ 2205.044493] e1000e :01:00.0: Disabling
ASPM L0s
Jun 30 18:07:25 [kernel] [ 2205.165524] e1000e :01:00.0: eth0: (PCI
Express:2.5GB/s:Width x1) 00:1c:7e:0e:f6:1e
Jun 30 18:07:25 [kernel] [ 2205.165532] e1000e :01:00.0: eth0:
Intel(R) PRO/1000 Network Connection
Jun 30 18:07:25 [kernel] [ 2205.165655] e1000e :01:00.0: eth0: MAC:
3, PHY: 2, PBA No: ff-0ff


 DETAILS FOR DHCLIENT ///

Re: [E1000-devel] [PATCH] igbvf: avoid name clash between PF and VF

2010-06-30 Thread Stefan Assmann
On 30.06.2010 18:59, Casey Leedom wrote:
> | From: Stefan Assmann 
> | Date: Wednesday, June 30, 2010 01:53 am
> | 
> | This is not a udev bug since udev doesn't create persistent rules for
> | VFs as their MAC address changes every reboot.
> | 
> | To avoid this problem we could change the kernel name for the VFs and
> | thus avoid confusion between VFs and PFs.
> | 
> | I've already discussed this with Alexander Duyck and Greg Rose, so far
> | they have no objection. However this problem appears for all drivers that
> | support PFs and VFs and thus the changes should be applied consistently
> | to all of these drivers.
> 
>   I'm not sure that this problem affects "all drivers which support PFs and 
> VFs."  
> I think that you might mean "all drivers which support PFs and VFs with non-
> persistent MAC addresses for the VFs."  For instance, the MAC addresses 
> associated with the new cxgb4vf VFs are persistent so, from what I understand 
> of 
> the scenario you outlined, I don't think that they would trigger the problem 
> you 
> describe.  Please correct me if I've missed something.  Thanks.
> 
> Casey

You're correct, the problem shouldn't occur with cxgb4vf and therefore
this change shouldn't be necessary. However we might consider a
consistent naming scheme for VFs in all drivers. But I don't have a
strong opinion about this, either way would be fine by me.

  Stefan
--
Stefan Assmann | Red Hat GmbH
Software Engineer  | Otto-Hahn-Strasse 20, 85609 Dornach
   | HR: Amtsgericht Muenchen HRB 153243
   | GF: Brendan Lane, Charlie Peters,
sassmann at redhat.com | Michael Cunningham, Charles Cachera

--
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® Ethernet, visit 
http://communities.intel.com/community/wired