From 05fb73ec16329981d5b3170e23fcbefaa89b71b6 Mon Sep 17 00:00:00 2001
From: "Suren A. Chilingaryan" <csa@suren.me>
Date: Sun, 5 Aug 2018 05:36:43 +0200
Subject: Add helper functions

---
 ip/functions.sh  | 29 +++++++++++++++++++++++++++++
 ip/ipecamera3.sh | 40 ++++++++++++----------------------------
 ip/ipecamera4.sh | 25 ++++++++-----------------
 3 files changed, 49 insertions(+), 45 deletions(-)
 create mode 100644 ip/functions.sh

(limited to 'ip')

diff --git a/ip/functions.sh b/ip/functions.sh
new file mode 100644
index 0000000..2941953
--- /dev/null
+++ b/ip/functions.sh
@@ -0,0 +1,29 @@
+function portset {
+    pci=$1
+    mode=$2
+    ./connectx_port_config -d "$pci" -c "$mode,$mode" &> /dev/null
+}
+
+function mlxconf {
+    mode=$1
+
+    pci=$(./connectx_port_config -s | grep PCI | grep -Po "\d{4}:\d{2}:\d{2}\.\d")
+    for dev in $pci; do
+	echo "Configuring: $dev"
+	portset $dev $mode
+    done
+}
+
+function ipset {
+    int="$1"
+    ip="$2"
+
+    if [ -n "$ip" ]; then
+	ip link  set "$int"  up
+	ip addr flush "$int"
+	ip addr show dev "$int" | grep "$ip" || ip addr add "$ip/24" dev "$int"
+    else
+	ip addr flush "$int"
+	ip link  set "$int"  down
+    fi
+}
diff --git a/ip/ipecamera3.sh b/ip/ipecamera3.sh
index 65fc84f..ceb78b6 100755
--- a/ip/ipecamera3.sh
+++ b/ip/ipecamera3.sh
@@ -1,28 +1,12 @@
-./connectx_port_config -d 0000:01:00.0 -c eth,eth &> /dev/null
-./connectx_port_config -d 0000:03:00.0 -c eth,eth &> /dev/null
-./connectx_port_config -d 0000:06:00.0 -c eth,eth &> /dev/null
-./connectx_port_config -d 0000:07:00.0 -c eth,eth &> /dev/null
-
-ip link  set ens1  up
-ip addr show dev ens1 | grep 192.168.61.83 || ip addr add 192.168.61.83/24 dev ens1
-
-ip link  set ens1d1  up
-ip addr show dev ens1d1 | grep 192.168.2.93 || ip addr add 192.168.2.93/24 dev ens1d1
-
-ip link  set ens11  up
-ip addr show dev ens11 | grep 192.168.41.83 || ip addr add 192.168.41.83/24 dev ens11
-
-ip link  set ens11d1  up
-ip addr show dev ens11d1 | grep 192.168.2.83 || ip addr add 192.168.2.83/24 dev ens11d1
-
-ip link  set enp6s0  up
-ip addr show dev enp6s0 | grep 192.168.62.83 || ip addr add 192.168.62.83/24 dev enp6s0
-
-ip link  set enp6s0d1  up
-ip addr show dev enp6s0d1 | grep 192.168.2.103 || ip addr add 192.168.2.103/24 dev enp6s0d1
-\
-ip link  set enp7s0  up
-ip addr show dev enp7s0 | grep 192.168.42.83 || ip addr add 192.168.42.83/24 dev enp7s0
-
-ip link  set enp7s0d1  up
-ip addr show dev enp7s0d1 | grep 192.168.2.113 || ip addr add 192.168.2.113/24 dev enp7s0d1
+. ip/functions.sh
+
+mlxconf eth
+
+ipset ens1 #192.168.61.83
+ipset ens1d1 #192.168.2.93
+ipset ens11 192.168.41.83
+ipset ens11d1 192.168.2.83
+ipset enp6s0 #192.168.62.83
+ipset enp6s0d1 #192.168.2.103
+ipset enp7s0 #192.168.42.83
+ipset enp7s0d1 #192.168.2.113
diff --git a/ip/ipecamera4.sh b/ip/ipecamera4.sh
index cfa4fe6..4f03d96 100755
--- a/ip/ipecamera4.sh
+++ b/ip/ipecamera4.sh
@@ -1,20 +1,11 @@
-./connectx_port_config -d 0000:01:00.0 -c eth,eth &> /dev/null
-./connectx_port_config -d 0000:03:00.0 -c eth,eth &> /dev/null
+. ip/functions.sh
 
-ip link  set ens1  up
-ip addr show dev ens1 | grep 192.168.41.84 || ip addr add 192.168.41.84/24 dev ens1
+mlxconf eth
 
-ip link  set ens1d1  up
-ip addr show dev ens1d1 | grep 192.168.2.84 || ip addr add 192.168.2.84/24 dev ens1d1
+ipset ens1 192.168.41.84
+ipset ens1d1 192.168.2.84 
+ipset ens11 192.168.42.84
+ipset ens11d 192.168.46.84
+ipset enp6s0f0 #192.168.2.104
+ipset enp7s0f0 #192.168.2.114
 
-ip link  set ens11  up
-ip addr show dev ens11 | grep 192.168.42.84 || ip addr add 192.168.42.84/24 dev ens11
-
-ip link  set ens11d1  up
-ip addr show dev ens11d1 | grep 192.168.46.84 || ip addr add 192.168.46.84/24 dev ens11d1
-
-ip link  set enp6s0f0  up
-ip addr show dev enp6s0f0 | grep 192.168.2.104 || ip addr add 192.168.2.104/24 dev enp6s0f0
-
-ip link  set enp7s0f0  up
-ip addr show dev enp7s0f0 | grep 192.168.2.114 || ip addr add 192.168.2.114/24 dev enp7s0f0
-- 
cgit v1.2.3