From: Juergen Pfeiffer <j.pfeiffer@seskion.de>
To: bridge@lists.osdl.org
Cc: uclinux-dev@uclinux.org
Subject: Re: [Bridge] Is bridgeing possible with kernel 2.6.10
Date: Mon, 14 Aug 2006 17:52:32 +0200 [thread overview]
Message-ID: <44E09C40.8060306@seskion.de> (raw)
In-Reply-To: <44C77FD2.2030208@seskion.de>
[-- Attachment #1: Type: text/plain, Size: 2567 bytes --]
Juergen Pfeiffer schrieb:
> Hi
>
> I didn't get bridgeing to work with Linux kernel 2.6.10 (coldfire 5485)
> yet. When i try to configure bridgeing
> with "brctl", everything seems to be ok, but i if i try to ping through
> my bridge, i see ARP-Request arriving on the other side, but the
> ARP-Responses do not go back through the bridge.
>
Now i found the error in the coldfire specific ethernet driver:
"drivers/net/fec/fec.c"
The driver did not set Promiscuouse Mode correct in Hardware Registers:
function fec_set_multicast_list() with error:
*void fec_set_multicast_list(struct net_device *dev)
{
// Pointer to the address list
struct dev_mc_list *dmi;
unsigned int crc, data;
int i, j, k;
// Receive the base address
unsigned long base_addr = (unsigned long) dev->base_addr;
if (dev->flags & IFF_PROMISC || dev->flags & IFF_ALLMULTI)
{
// Allow all incoming frames
FEC_GALR(base_addr) = 0xFFFFFFFF;
FEC_GAUR(base_addr) = 0xFFFFFFFF;
return;
}
...
*
function fec_set_multicast_list() correct:
*void fec_set_multicast_list(struct net_device *dev)
{
// Pointer to the address list
struct dev_mc_list *dmi;
unsigned int crc, data;
int i, j, k;
// Receive the base address
unsigned long base_addr = (unsigned long) dev->base_addr;
if (dev->flags & IFF_PROMISC)
{
// Allow all incoming frames
if ((FEC_RCR(base_addr) & FEC_RCR_PROM)==0) {
FEC_ECR(base_addr) &= ~FEC_ECR_ETHEREN;
FEC_RCR(base_addr) |= FEC_RCR_PROM;
FEC_ECR(base_addr) |= FEC_ECR_ETHEREN;
}
return;
}
if ((FEC_RCR(base_addr) & FEC_RCR_PROM)!=0) {
FEC_ECR(base_addr) &= ~FEC_ECR_ETHEREN;
FEC_RCR(base_addr) &= ~FEC_RCR_PROM;
FEC_ECR(base_addr) |= FEC_ECR_ETHEREN;
}
if (dev->flags & IFF_ALLMULTI)
{
// Allow all incoming frames
FEC_GALR(base_addr) = 0xFFFFFFFF;
FEC_GAUR(base_addr) = 0xFFFFFFFF;
return;
}
...
*
after this the bridge worked fine!
--
------------------------------------------------------------------------
Jürgen Pfeiffer
* _mailto:j.pfeiffer@seskion.de_
SesKion Softwareentwicklung und System Konzeption GmbH
( : +49-711-9905814
Karlsruher Str. 11/1
Fax: +49-711-9905827
D-70771 Leinfelden-Echterdingen
1 _http://www.seskion.de_
------------------------------------------------------------------------
[-- Attachment #2: Type: text/html, Size: 5182 bytes --]
next prev parent reply other threads:[~2006-08-14 15:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-26 14:44 [Bridge] Is bridgeing possible with kernel 2.6.10 Juergen Pfeiffer
2006-07-26 15:34 ` Stephen Hemminger
2006-07-26 16:26 ` Juergen Pfeiffer
2006-07-26 17:13 ` Stephen Hemminger
2006-07-27 9:15 ` Juergen Pfeiffer
2006-07-27 17:39 ` Stephen Hemminger
2006-07-28 19:17 ` Bart De Schuymer
2006-08-02 23:05 ` [Bridge] [uClinux-dev] " David McCullough
2006-08-14 15:52 ` Juergen Pfeiffer [this message]
[not found] <1167297092.6795.17.camel@getafix.msbmicro.com>
2006-12-28 9:52 ` [Bridge] " Juergen Pfeiffer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44E09C40.8060306@seskion.de \
--to=j.pfeiffer@seskion.de \
--cc=bridge@lists.osdl.org \
--cc=uclinux-dev@uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox