Le lundi 06 juin 2011 à 21:44 -0700, Andrew Morton a écrit : > > Begin forwarded message: > > Date: Sun, 5 Jun 2011 03:14:49 +0200 > From: Andrea Merello <andrea.mere...@gmail.com> > To: linux-ker...@vger.kernel.org > Subject: [PATCH] e100: Fix inconsistency in bad frames handling > > > Hello! > > In e100 driver it seems that the intention was to accept bad frames in > promiscuous mode and loopback mode. > I think this is evident because of the following code in the driver: > > if (nic->flags & promiscuous || nic->loopback) { > config->rx_save_bad_frames = 0x1; /* 1=save, 0=discard */ > config->rx_discard_short_frames = 0x0; /* 1=discard, 0=save */ > config->promiscuous_mode = 0x1; /* 1=on, 0=off */ > } > > > However this intention is not really realized because bad frames are > discarded later by SW check. > This patch finally honors the above intention, making the RX code to > let bad frames to pass when the NIC is in promiscuous or loopback > mode. > > This helped me a lot to debug an FPGA ethernet core. > Maybe it can be also useful to someone else.. > > Thanks > Andrea > > --- drivers/net/e100_orig.c 2011-06-14 23:29:38.322267075 +0200 > +++ drivers/net/e100.c 2011-06-14 23:34:10.700791472 +0200 > @@ -1975,7 +1975,8 @@ static int e100_rx_indicate(struct nic * > skb_put(skb, actual_size); > skb->protocol = eth_type_trans(skb, nic->netdev); > > - if (unlikely(!(rfd_status & cb_ok))) { > + if (unlikely(!(nic->flags & promiscuous || nic->loopback) && > + !(rfd_status & cb_ok))) { > /* Don't indicate if hardware indicates errors */ > dev_kfree_skb_any(skb); > } else if (actual_size > ETH_DATA_LEN + VLAN_ETH_HLEN) {
Thanks Andrew, subject already opened on netdev :) http://www.spinics.net/lists/netdev/msg166301.html Lets close this thread and continue on previous one ? ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ 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