#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-only

source ethtool-common.sh

NSIM_NETDEV=$(make_netdev)
[ a$ETHTOOL == a ] && ETHTOOL=ethtool

set -o pipefail

# netdevsim starts out with None/None
s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
check $? "$s" "Configured FEC encodings: None
Active FEC encoding: None"

# Test Auto
$ETHTOOL --set-fec $NSIM_NETDEV encoding auto
check $?
s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
check $? "$s" "Configured FEC encodings: Auto
Active FEC encoding: Off"

# Test case in-sensitivity
for o in off Off OFF; do
    $ETHTOOL --set-fec $NSIM_NETDEV encoding $o
    check $?
    s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
    check $? "$s" "Configured FEC encodings: Off
Active FEC encoding: Off"
done

for o in BaseR baser BAser; do
    $ETHTOOL --set-fec $NSIM_NETDEV encoding $o
    check $?
    s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
    check $? "$s" "Configured FEC encodings: BaseR
Active FEC encoding: BaseR"
done

for o in llrs rs; do
    $ETHTOOL --set-fec $NSIM_NETDEV encoding $o
    check $?
    s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
    check $? "$s" "Configured FEC encodings: ${o^^}
Active FEC encoding: ${o^^}"
done

# Test mutliple bits
$ETHTOOL --set-fec $NSIM_NETDEV encoding rs llrs
check $?
s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
check $? "$s" "Configured FEC encodings: RS LLRS
Active FEC encoding: LLRS"

$ETHTOOL --set-fec $NSIM_NETDEV encoding rs off auto
check $?
s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
check $? "$s" "Configured FEC encodings: Auto Off RS
Active FEC encoding: RS"

# Make sure other link modes are rejected
$ETHTOOL --set-fec $NSIM_NETDEV encoding FIBRE 2>/dev/null
check $? '' '' 1

$ETHTOOL --set-fec $NSIM_NETDEV encoding bla-bla-bla 2>/dev/null
check $? '' '' 1

# Try JSON
$ETHTOOL --json --show-fec $NSIM_NETDEV | jq empty >>/dev/null 2>&1
if [ $? -eq 0 ]; then
    $ETHTOOL --set-fec $NSIM_NETDEV encoding auto
    check $?

    s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].config[]')
    check $? "$s" '"Auto"'
    s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].active[]')
    check $? "$s" '"Off"'

    $ETHTOOL --set-fec $NSIM_NETDEV encoding auto RS
    check $?

    s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].config[]')
    check $? "$s" '"Auto"
"RS"'
    s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].active[]')
    check $? "$s" '"RS"'
fi

# Test error injection
echo 11 > $NSIM_DEV_DFS/ethtool/get_err

$ETHTOOL --show-fec $NSIM_NETDEV >>/dev/null 2>&1
check $? '' '' 1

echo 0 > $NSIM_DEV_DFS/ethtool/get_err
echo 11 > $NSIM_DEV_DFS/ethtool/set_err

$ETHTOOL --show-fec $NSIM_NETDEV  >>/dev/null 2>&1
check $?

$ETHTOOL --set-fec $NSIM_NETDEV encoding RS 2>/dev/null
check $? '' '' 1

if [ $num_errors -eq 0 ]; then
    echo "PASSED all $((num_passes)) checks"
    exit 0
else
    echo "FAILED $num_errors/$((num_errors+num_passes)) checks"
    exit 1
fi
