Ilya Maximets <[email protected]> writes:

> Currently, once created device in dpdk will exist forever
> even after del-port operation untill we manually call
> 'ovs-appctl netdev-dpdk/detach <name>', where <name> is not
> the port's name but the name of dpdk eth device or pci address.
>
> Few issues with current implementation:
>
>       1. Different API for usual (system) and DPDK devices.
>          (We have to call 'ovs-appctl netdev-dpdk/detach' each
>           time after 'del-port' to actually free the device)
>          This is a big issue mostly for virtual DPDK devices.
>
>       2. Follows from 1:
>          For DPDK devices 'del-port' leads just to
>          'rte_eth_dev_stop' and subsequent 'add-port' will
>          just start the already existing device. Such behaviour
>          will not reset the device to initial state as it could
>          be expected. For example: virtual pcap pmd will continue
>          reading input file instead of reading it from the beginning.
>
>       3. Follows from 2:
>          After execution of the following commands 'port1' will be
>          configured with the 'old-options' while 'ovs-vsctl show'
>          will show us 'new-options' in dpdk-devargs field:
>
>            ovs-vsctl add-port port1 -- set interface port1 type=dpdk \
>                      options:dpdk-devargs=<eth_pmd_name1>,<old-options>
>            ovs-vsctl del-port port1
>            ovs-vsctl add-port port1 -- set interface port1 type=dpdk \
>                      options:dpdk-devargs=<eth_pmd_name1>,<new-options>
>
>       4. Follows from 1:
>          Not detached device consumes 'port_id'. Since we have very
>          limited number of 'port_id's (32 in common case) this may
>          lead to quick exhausting of id pool and inability to add any
>          other port.
>
> To avoid above issues we need to detach all the attached devices on
> port destruction.
> appctl 'netdev-dpdk/detach' removed because not needed anymore.
>
> CC: Ciara Loftus <[email protected]>
> Fixes: 55e075e65ef9 ("netdev-dpdk: Arbitrary 'dpdk' port naming")
> Fixes: 69876ed78611 ("netdev-dpdk: Add support for virtual DPDK PMDs (vdevs)")
> Signed-off-by: Ilya Maximets <[email protected]>
> ---

Acked-by: Aaron Conole <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to