Wed, Oct 07, 2015 at 03:50:08AM CEST, sfel...@gmail.com wrote:

<snip>

>
>> Also I wonder how this works when a pkt ingresses a port in mode A and
>> egresses a port in mode B? What fib/fdb tables does it cross when this
>> happens? It seems easier to just have two switch devices not a
>> hybrid. If this per port implementation maps to some hardware that
>> would be really interesting though.
>
>In retrospect, I regret adding the port mode feature to rocker.  I
>like the world idea, so we can have a device with different
>pipeline/resources, but we should have locked all ports on a switch to
>one mode, or even as you hinted at earlier, use a unique sub-device ID
>for a switch with all ports in a particular mode.  If you want to
>ports with different worlds, just instantiate a switch in each world.
>Instantiating new devices is easy.
>
>But, now Jiri has locked on to the dynamic port mode idea with pit
>bull zeal, to the point of being able to switch a port mode at any
>time from one mode to another from the host.  I just don't see that as
>a real-world use-case.  Life is too short and we need to be focusing
>on switchdev features, not refactoring or adding cool but useless
>features.

Can can still change this if you want. We can make
ROCKER_TLV_CMD_PORT_SETTINGS_MODE read-only in hw (As it is in fact now
as we have only one world).

Then we add another property:
static Property rocker_properties[] = {
            DEFINE_PROP_STRING("name", Rocker, name),
            DEFINE_PROP_STRING("world", Rocker, world),
                ....

and we use this value in pci_rocker_init instead of r->world_dflt

Looks straightforward.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to