Ethernet Bridge development
 help / color / mirror / Atom feed
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 --]

  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