On Wed, Nov 06, 2019 at 01:50:58PM +0100, Ilya Maximets wrote: > On 05.11.2019 22:20, Ben Pfaff wrote: > >On Tue, Nov 05, 2019 at 09:54:08PM +0100, Ilya Maximets wrote: > >>'xdpmode' is part of 'options', not the 'other_config'. > >> > >>CC: William Tu <[email protected]> > >>Fixes: 0de1b425962d ("netdev-afxdp: add new netdev type for AF_XDP.") > >>Signed-off-by: Ilya Maximets <[email protected]> > > > >It's not clear to me whether the options related to XDP and DPDK and PMD > >consistently follow the intended convention. The intention is that > >options is for settings that are specific to a particular configured > >interface type, and other-config is for options independent of the > >interface type. > > 'options' goes to netdev_set_config(). > 'other_config' goes to dpif_set_port_config(). I think you mean dpif_netdev_set_config
> > And that dictates the rules of how we're using them. > > 'options' are used to store configuration options that needs to be > applied to netdev itself. Those are number of HW queues, different > work modes, numbers of HW descriptors, etc. > > 'other_config' is only used by dpif-netdev and stores per-port > datapath configurations like enabling/disabling flow caches for > particular port or pinning of netdev rx queues to pmd threads > (this is actually the full list of currently supported configs). > > I agree that vswitch.xml might be better structured. For example, > we could make more subcategories for afxdp, dpdk and vhost-user > options to make the list more visual in man pages. It's not fully > clear how to separate 'other_config's. And I'm also not really > comfortable with using "PMD" abbreviation for "netdev that works > in polling mode/interface that requires polling", but I have no I agree. "PMD" is very confusing, especially "Driver". How about poll-mode netdev? > good ideas for short and meaningful replacement. > > What we can do is following: > > PMD (Poll Mode Driver) Options: > options : n_rxq optional string <...> > > PMD Options: dpdk only: > options : dpdk-devargs optional string > options : n_rxq_desc optional string, <...> > options : n_txq_desc optional string, <...> > > PMD Options: dpdkvhostuserclient only: > options : vhost-server-path optional string > options : dq-zero-copy optional string, <...> > options : tx-retries-max optional string, <...> > > PMD Options: afxdp only: > options : xdpmode optional string, <...> > options : use-need-wakeup optional string, <...> > > Userspace Datapath Configuration: > other_config : emc-enable optional string, <...> > > Userspace Datapath Configuration: PMD only: > other_config : pmd-rxq-affinity optional string > > Suggestions are welcome. > > Here we can see that all "PMD" netdevs should somehow support n_rxq > option and it might make sense to pass it via other_config, but this > doesn't fit existing code structure, i.e. will probably have to make > an additional netdev interface like netdev_set_rx_multiq() for passing > that value from the dpif (analogue of existing netdev_set_tx_multiq()). > Another point is that not all the netdevs are "PMD" netdevs, so this > option still kind of netdev specific. > Good idea, I think it's much clearer. William > > Best regards, Ilya Maximets. > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
