Re: [RFC net-next 0/3] net: bridge: Allow CPU port configuration
From: Andrew Lunn <andrew@lunn.ch>
Date: 2016-11-22 17:48:34
From: Andrew Lunn <andrew@lunn.ch>
Date: 2016-11-22 17:48:34
Hi Ido
First of all, I want to be sure that when we say "CPU port", we're talking about the same thing. In mlxsw, the CPU port is a pipe between the device and the host, through which all packets trapped to the host go through. So, when a packet is trapped, the driver reads its Rx descriptor, checks through which port it ingressed, resolves its netdev, sets skb->dev accordingly and injects it to the Rx path via netif_receive_skb(). The CPU port itself isn't represented using a netdev.
With DSA, we have a real physical ethernet network interface for the 'cpu' port. It connects to one of the ports of the switch. Frames on this interface have an extra header, indicating which switch port it came from, and we do a similar resolving it to a slave netdev, strip of the header and injecting it into the receiver path via netif_receive_skb(). Andrew