On Thu, Apr 18, 2019 at 04:06:31PM +0200, David Marchand wrote: > Hey Adrien,
Hey David! > On Thu, Apr 18, 2019 at 3:12 PM Adrien Mazarguil <adrien.mazarg...@6wind.com> > wrote: > > > When passed to the application, Rx packets retain the port ID value > > originally set by slave devices. Unfortunately these IDs have no meaning to > > applications, which are typically unaware of their existence. > > > > This confuses those caring about the source port field in mbufs (m->port) > > which experience issues ranging from traffic drop to crashes. > > > > Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD") <snip> > Not a big fan of those duplicated rx_burst functions... > Reviewed-by: David Marchand <david.march...@redhat.com> > > I suppose the bonding pmd has the same issue. I don't have much experience with it, however chances are that it's not as bad as with failsafe since bonding behaves more like a helper that applications knowingly use to aggregate ports they set up and already know about. Leaving the original port ID in this case may actually be useful, but could be optional. Failsafe on the other hand spawns and manages any number of sub-devices hidden from the application on its own based on opaque user configuration. These sub-devices may or may not be present depending on hot-plug events absorbed by failsafe, which means their port IDs are not only unexpected but also volatile. -- Adrien Mazarguil 6WIND