[ovs-dev] [PATCH v3] netdev-dpdk: add support for the RTE_ETH_EVENT_INTR_RESET event

William Tu u9012063 at gmail.com
Thu Oct 31 14:01:00 UTC 2019


> > The root cause: Every change in the state of the network interface
> > of a linux kernel device generates if-notifier event and if-notifier
> > event triggers the OVS code to re-apply the configuration of ports,
> > i.e. add broken ports back. The most obvious part is that dpif-netdev
> > changes the device flags before trying to configure it:
> >


> >    1. add_port()
> >    2. set_flags() --> if-notifier event
> >    3. reconfigure() --> port removal from the datapath due to
> >                         misconfiguration or any other issue in
> >                         the underlying device.
> >    4. setting flags back --> another if-notifier event.
> >    5. There was new if-notifier event?
> >       yes --> re-apply all settings. --> goto step 1.
> >

Hi Eelco and Ilya,

Is it better to save the current flags before step2, and
after setting flags back, at step 5, we know it's the same
as before, so we can skip re-applying all settings.

so
    1. add_port()
    2. save old_flags, set_flags() --> if-notifier event
    3. reconfigure() --> port removal from the datapath due to
                         misconfiguration or any other issue in
                         the underlying device.
    4. setting flags back as cur_flags --> another if-notifier event.
    5. There was new if-notifier event?
       yes && old_flags != cur_flags --> re-apply all settings. --> goto step 1.

Regards,
William


More information about the dev mailing list