scripts/rxe_cfg: Try to get status from all infiniband devices
Also, add some minor tweaks for the add|rm routines. Signed-off-by: Michal Berger <michalx.berger@intel.com> Change-Id: I39cdbec2c0aca12e7077d8db161e65fdce7ca19f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6241 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
940cd3ae37
commit
fc7d5d4e27
@ -8,6 +8,7 @@ declare -r rdma_rxe_add=$rdma_rxe/parameters/add
|
|||||||
declare -r rdma_rxe_rm=$rdma_rxe/parameters/remove
|
declare -r rdma_rxe_rm=$rdma_rxe/parameters/remove
|
||||||
|
|
||||||
declare -r infiniband=/sys/class/infiniband
|
declare -r infiniband=/sys/class/infiniband
|
||||||
|
declare -r infiniband_verbs=/sys/class/infiniband_verbs
|
||||||
declare -r net=/sys/class/net
|
declare -r net=/sys/class/net
|
||||||
|
|
||||||
declare -A net_devices
|
declare -A net_devices
|
||||||
@ -45,11 +46,16 @@ get_ipv4() {
|
|||||||
get_rxe_mtu() {
|
get_rxe_mtu() {
|
||||||
local rxe=$1
|
local rxe=$1
|
||||||
local mtu
|
local mtu
|
||||||
|
local uverb
|
||||||
|
|
||||||
[[ -c /dev/infiniband/uverbs${rxe/rxe/} ]] || return 0
|
for uverb in "$infiniband_verbs/uverbs"*; do
|
||||||
|
if [[ $(< "$uverb/ibdev") == "$rxe" ]] \
|
||||||
[[ $(ibv_devinfo -d "$rxe") =~ active_mtu:(.*\ \(.*\)) ]]
|
&& [[ -c /dev/infiniband/${uverb##*/} ]]; then
|
||||||
echo "${BASH_REMATCH[1]:-(?)}"
|
[[ $(ibv_devinfo -d "$rxe") =~ active_mtu:(.*\ \(.*\)) ]]
|
||||||
|
echo "${BASH_REMATCH[1]:-(?)}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start() {
|
||||||
@ -196,7 +202,7 @@ print_status() {
|
|||||||
add_rxe() {
|
add_rxe() {
|
||||||
local dev net_devs
|
local dev net_devs
|
||||||
|
|
||||||
[[ -e $rdma_rxe/parameters ]] || return 1
|
[[ -e $rdma_rxe_add ]] || return 0
|
||||||
|
|
||||||
if [[ -z $1 || $1 == all ]]; then
|
if [[ -z $1 || $1 == all ]]; then
|
||||||
net_devs=("${!net_devices[@]}")
|
net_devs=("${!net_devices[@]}")
|
||||||
@ -222,6 +228,8 @@ add_rxe() {
|
|||||||
remove_rxe() {
|
remove_rxe() {
|
||||||
local rxes rxe
|
local rxes rxe
|
||||||
|
|
||||||
|
[[ -e $rdma_rxe_rm ]] || return 0
|
||||||
|
|
||||||
rxes=("${!rxe_to_net[@]}")
|
rxes=("${!rxe_to_net[@]}")
|
||||||
if [[ -z $1 || $1 == all ]]; then
|
if [[ -z $1 || $1 == all ]]; then
|
||||||
rxes=("${!rxe_to_net[@]}")
|
rxes=("${!rxe_to_net[@]}")
|
||||||
@ -234,7 +242,7 @@ remove_rxe() {
|
|||||||
|
|
||||||
for rxe in "${rxes[@]}"; do
|
for rxe in "${rxes[@]}"; do
|
||||||
echo "$rxe" > "$rdma_rxe_rm"
|
echo "$rxe" > "$rdma_rxe_rm"
|
||||||
done
|
done 2> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
link_up() {
|
link_up() {
|
||||||
@ -249,8 +257,8 @@ collect_devices() {
|
|||||||
for net_dev in "$net/"!(bonding_masters); do
|
for net_dev in "$net/"!(bonding_masters); do
|
||||||
(($(< "$net_dev/type") != 1)) && continue
|
(($(< "$net_dev/type") != 1)) && continue
|
||||||
net_devices["${net_dev##*/}"]=$net_dev
|
net_devices["${net_dev##*/}"]=$net_dev
|
||||||
for rxe_dev in "$infiniband/rxe"+([0-9]); do
|
for rxe_dev in "$infiniband/"*; do
|
||||||
if [[ $(< "$rxe_dev/parent") == "${net_dev##*/}" ]]; then
|
if [[ -e $rxe_dev/device/net/${net_dev##*/} ]]; then
|
||||||
net_to_rxe["${net_dev##*/}"]=${rxe_dev##*/}
|
net_to_rxe["${net_dev##*/}"]=${rxe_dev##*/}
|
||||||
rxe_to_net["${rxe_dev##*/}"]=${net_dev##*/}
|
rxe_to_net["${rxe_dev##*/}"]=${net_dev##*/}
|
||||||
continue 2
|
continue 2
|
||||||
|
Loading…
Reference in New Issue
Block a user