# File lib/rethtool/interface_settings.rb, line 86
        def best_mode
                modes = self.advertised_modes
                best_speed = modes.map { |m| m.speed }.sort.last
                high_speed_modes = modes.find_all { |m| m.speed == best_speed }

                if high_speed_modes.length == 0
                        raise RuntimeError.new("Can't happen: no modes with the best speed?!?")
                elsif high_speed_modes.length == 1
                        high_speed_modes.first
                else
                        duplexes = high_speed_modes.map { |m| m.duplex }
                        best_duplex = if duplexes.include? :fec
                                :fec
                        elsif duplexes.include? :full
                                :full
                        else
                                :half
                        end
                        high_speed_modes.find { |m| m.duplex == best_duplex }
                end
        end