Subject: Re: [VLAN 02/04]: Fix MAC address handling

From: Ben Greear <[email-masked]>
Date: Wed, 11 Jul 2007 11:16:48 -0700

Patrick McHardy wrote:
> Patrick McHardy wrote:
>> [VLAN]: Fix MAC address handling
>>
>> +static void vlan_sync_address(struct net_device *dev,
>> +			      struct net_device *vlandev)
>> +{
>> +	struct vlan_dev_info *vlan = VLAN_DEV_INFO(vlandev);
>> +
>> +	if (!compare_ether_addr(vlan->real_dev_addr, dev->dev_addr))
>> +		return;
>> +
>> +	if (compare_ether_addr(vlandev->dev_addr, dev->dev_addr))
>> +		dev_unicast_add(dev, vlandev->dev_addr, ETH_ALEN);
>> +	else
>> +		dev_unicast_delete(dev, vlandev->dev_addr, ETH_ALEN);
>> +
>> +	memcpy(vlan->real_dev_addr, dev->dev_addr, ETH_ALEN);
>> +}
> 
> 
> Unfortunately the one case I didn't test is still wrong :|
> 
> The above synchronization incorrectly removes the address in case
> if was different before and is still different afterwards. This
> patch is fixed and contains a few comments as an added bonus :)

The new patch looks good to me..though this is some tricky code
so I might have missed something...

Thanks,
Ben

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