pfSense LAGG interfaces; unable to set speed and duplex for member interfaces.
When a LAGG is configured; let's say for argument sake it's lacp; and member interfaces are assigned. e.g. em1 and em2 or even sfxge1.
There is not currently (v2.2) any way set the preferred media speed and duplex for the underlying interfaces. - Autodetect is always implied/default but may not always be the correct choice, I might have good reason for wanting my lag to run at a specific rate.
This is particularly relevant for solarflare / sfxge which does not seem to be able to detect a 1G SFP automatically; media auto on this card will always try to treat the installed hardware as 10G. For this card, you need to be able to manually set 1000baseSX-FD as the interfaces are brought up.
The pfSense LAGG configuration page should :
1) query each member interface for supported media
2) split the supported media into speed (1000/10G) / mediatype (baseT/baseSX) and duplex
3) perform a set-intersection across the speed and duplex options for the member interfaces.
4) in the UI offer a new collapsible option; advanced > speed & duplex setting
with default options; auto/auto
and user-selectable options of speed and duplex, common to all member interfaces .
5) if the user chooses a speed and duplex ; call a function on ifup to generate the media command as
ifconfig <member_if> media "speed"+"baseT|SX" mediaopt full|half-duplex
otherwise choose :
ifconfig <member_if> media auto
6) Speed/duplex choices in the lagg page should be recorded and loaded from the config.xml file.
7) When the lagg member list is changed; the list of supported/common speeds should be regenerated. If the current selection is invalid, auto should be chosen.