Subject: Re: [PATCHv2 1/2] net: Export dev_queue_xmit_nit for use by macvlan driver

From: "Ward, David - 0663 - MITLL" <[email-masked]>
Date: Sat, 7 May 2011 12:47:06 -0400

On 05/05/2011 01:50 PM, David Miller wrote:
> From: David Ward<[email-masked]>
> Date: Thu, 28 Apr 2011 20:22:31 -0400
>
>> @@ -1521,11 +1521,13 @@ static inline int deliver_skb(struct sk_buff *skb,
>>   }
>>
>>   /*
>> - *	Support routine. Sends outgoing frames to any network
>> - *	taps currently in use.
>> + * dev_queue_xmit_nit - send outgoing frame to AF_PACKET sockets
>> + *
>> + * @skb: buffer to send
>> + * @dev: network device that AF_PACKET sockets are attached to (if any)
>>    */
> I really don't like exposing these kinds of internals for what is
> largely a macvlan internal issue.  Please find a less intrustive way
> to solve this problem.
>
> Thanks.

What do you think about creating __dev_forward_skb, which takes as an 
additional parameter a device (or maybe a list of devices) whose taps 
should see this packet as it is forwarded, such as a macvlan lowerdev?  
This function would be able to call dev_queue_xmit_nit for (each of) 
these devices.

Since the list of current network taps (ptype_all) is static inside 
net/core/dev.c, some type of change has to be made to net/core/dev.c to 
fix this.

Thanks,

David