Subject: Re: MACVLANs really best solution? How about a bridge with multiple bridge virtual interfaces?

From: Ben Greear <[email-masked]>
Date: Mon, 09 Mar 2009 14:23:40 -0700

Eric W. Biederman wrote:
> Ben Greear <[email-masked]> writes:
> 
>> Patrick McHardy wrote:
>>
>>>> Now that I think about it we could call ndo_start_xmit directly
>>>> from the macvlan code, and bypass whatever hook we use to
>>>> intercept packets going out the normal device it should not
>>>> be too difficult.
>>> We don't intercept packets on TX, they have to be explicitly delivered
>>> to macvlan.
>> It might suck for performance, but mac-vlan could register an 'ALL' protocol
>> on the physical dev, similar to tcp-dump, to grab pkts on tx and pass the
>> ones it cares about back up to the vlans?
> 
> I like that idea.  At least for prototyping.
> 
> I wonder if pkt_type all could be have a per interface optimized variant.
> 
>> I'd want run-time control to disable any of these costly options for those that
>> don't need it, however.
> 
> If well implemented it should not be more expensive than the ingress path where
> we already have, and where we already do that.  Unless your traffic is highly
> assymmetric.

Well, the ingress path isn't free, and especially for broadcast pkts it is quite
expensive with large numbers of devices.

In a single namespace implementation, there are very few uses for having two
NICs on the same system able to send to each other since an un-patched kernel
will not do IPv4 traffic between two external ports, and multicast loops back
in software already.

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com