Another Ethernet problem for Thomas :) Cont.

Sergei Organov osv at
Wed Jan 30 11:06:54 CST 2008

Leon Pollak <leonp at> writes:
> Thomas,
>> > ************ INTERFACE STATISTICS ************
>> > ***** eth0 *****
>> > Ethernet Address: 00:80:7F:22:61:77
>> > Address:  Broadcast Address:  Net
>> > mask:
>> >
>> > Flags: Up Broadcast Running Simplex
>>                                ^^^^^^^^^^
>> Back to the driver level: What would happen if your driver really works
>> in simplex (half duplex) mode? If it sends a packet while receiving one,
>> one of the two packets might get lost?
>> I am not sure how you really set up the ethernet controller, so the
>> flagged "simplex" might be misleading, but you should check it anyway.
>> Thomas.
> After searhes and scans: this is what all rtems drivers set in if->if_flags 
> after initializing. I put this too without thinking...:(
> My driver is full duplex and works this way, so I removed this assignment. Now 
> the line shows : Up Broadcast Running
> and no simplex. I tried to set IFF_DUPLEX
> Tests showed no visible influence.

I believe you can leave it to be IFF_SIMPLEX, -- it has no influence on
actual simplex/duplex mode of ethernet/phy operation, and will do no

   "... the only uses of IFF_SIMPLEX in if_ethersubr.c are to ensure that
   broadcast packets transmitted over an IFF_SIMPLEX interface are fed
   back into the kernel's receive path."

In other words it just tells the stack that device doesn't receive its
own broadcast packets, so they need to be echoed back to the TCP/IP
stack internally (i.e., in software).

-- Sergei.

More information about the rtems-users mailing list