On Thu, 6 Jul 2017 18:53:42 +0000, Casey Leedom wrote: > However, the first question which pops up is: what happens if a user > explicitly selects a particular FEC for from the set offered by the > current Transceiver Module, and then swap out Transceiver Modules to > one which doesn't support that FEC? Does the OS/Driver/Firmware > "forget" the user's FEC setting? Does it respect it and potentially > not get a link established? Do we "temporarily" put the user's FEC > setting aside? Or do we have FEC settings per-Transceiver Module > Type? Each choice has downsides in terms of "expected behavior" and > the complexity of the abstraction model offered to the user. > > In our discussions of the above, we decided that we should err in the > direction of the absolutely simplest abstraction model, even when > that might result in a failure to establish a link. Our feeling was > that doing anything else would result in endless user confusion. > Basically, if it takes longer than a simple paragraph to explain, > you're probably doing the wrong thing. So, we decided that if a user > sets up a particular FEC setting, we keep that regardless of conflict > with different Transceiver Modules. (But flag such issues in the > System Log in order to try to give the user a chance to understand > what the new cable they plugged in wasn't working.)
IMHO if something gets replugged all the settings should be reset. I feel that it's not entirely unlike replugging a USB adapter. Perhaps we should introduce some (devlink) notifications for SFP module events so userspace can apply whatever static user config it has?