Re: Bridging with 2 unidirectional vlans and one phys if

Zoilo Gomez <zoilo-qWit8jRvyhVmR6Xm/[email protected]> Wed, 06 Feb 2008 18:11:47 +0100
Newsgroups gmane.linux.network.bridge.ebtables.user
Message-ID <[email protected]>
Grant Taylor wrote:
> On 02/06/08 10:18, Zoilo Gomez wrote:
>   
>> It is 8139too (Realtek 8139).
>>
>> But I do not think that it has anything to do with the network card 
>> drivers. From inspecting tcpdump (monitoring on all interfaces) it is 
>> obvious that the ARP Request goes out via vlan223 (correct), but the 
>> Reply of course comes back on vlan200 (also correct) ... and from that 
>> moment on, all IP-traffic is now bridged to vlan200 (instead of 
>> vlan223), because that is where the MAC address replied ...
>>     
>
> I too run 8139s and have no problems with them.  However there are some 
> cards (that offload some functions from the driver to a CPU on the NIC?) 
> that have these problems.
>   

Sorry: I am using VT6102 (Via Rhine-II) on eth0, ie. where the tagged 
VLANs vlan200 and vlan223 are.

But eth1 is 8139.

>> So I tried to establish a static ARP entry:
>> => arp -s 192.168.22.254 00:11:22:33:44:55 -i vlan223
>>
>> The ARP entry shows up correctly in the arp table, but it seems to be 
>> ignored: an ARP-request is sent out anyway for 192.168.22.254, in spite 
>> of the static ARP-entry, and I end up in the same situation.
>>
>> Anybody know why the static ARP-entry is ignored?
>>     
>
> It is my (mis)understanding that the ARP cache is only used when the 
> local system is trying to find the MAC address of an IP, not when it is 
> forwarding frames.  Thus, if you are sending traffic from your host 
> behind your Linux box the ARP cache on the Linux box will have no baring 
> what so ever on where the traffic is sent.
>
>   
>> Anybody know how to force that all IP-traffic be sent via vlan223, 
>> without ARP-interference?
>>     
>
> I'm puzzled by the fact that the Linux bridge is behaving the way that 
> it is.  I'm surprised that the traffic is not going out vlan223 like it 
> is suppose to be.  This makes me believe there is something wrong with 
> the bridging code to allow it to work in spite of EBTables.  Unless 
> there is something like IPTables where traffic only passes EBTables on 
> the first pass through the kernel (like IPTables NAT table).
>
> On a whim, try adding the following EBTables rules and try again.
>
> ebtables -A FORWARD -o eth1 -i vlan223 -j DROP
> ebtables -A FORWARD -i eth1 -o vlan200 -j DROP
>
> See what the counters say with these rules in place.
>
> Also, make sure that you flush your EBTables in between tests to make 
> sure that there is no stale rule that is effecting you.
>
> Can we see the output of ebtables-save (I think that is correct)?
>   

Thank you Grant; will be back later with the results.

Z.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/