meta-quanta: s6q: Configure ipmi-net over bond0

Specify bond0 as the channel 1 for ipmi rmcpp interface.

Tested:
Use bond0 as the channel 1 used by ipmi. Check with "ipmitool lan print 1"

Signed-off-by: Jerry Wan <jerry.wan@quantatw.com>
Change-Id: I2599f4e2a7ea311d88ce1ed0581fcf115680103e
diff --git a/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
new file mode 100755
index 0000000..1d81277
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS:prepend:s6q := "${THISDIR}/${PN}:"
+
+SRC_URI:append:s6q = " file://bond_channel_config.json"
+SRC_URI:append:s6q = " file://bond_channel_access.json"
+
+do_install:append:s6q() {
+    if ${@bb.utils.contains('MACHINE_FEATURES', 'bonding', 'true', 'false', d)};
+    then
+        install -m 0644 -D ${WORKDIR}/bond_channel_access.json \
+            ${D}${datadir}/ipmi-providers/channel_access.json
+        install -m 0644 -D ${WORKDIR}/bond_channel_config.json \
+            ${D}${datadir}/ipmi-providers/channel_config.json
+    fi
+}
diff --git a/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_access.json b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_access.json
new file mode 100644
index 0000000..64acc3d
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_access.json
@@ -0,0 +1,9 @@
+{
+    "1" : {
+      "access_mode" : "always_available",
+      "user_auth_disabled" : false,
+      "per_msg_auth_disabled" : false,
+      "alerting_disabled" : false,
+      "priv_limit" : "priv-admin"
+    }
+}
\ No newline at end of file
diff --git a/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_config.json b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_config.json
new file mode 100644
index 0000000..7d7a024
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-config/bond_channel_config.json
@@ -0,0 +1,178 @@
+{
+  "0": {
+    "name": "IPMB",
+    "is_valid": true,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "ipmb",
+      "protocol_type": "ipmb-1.0",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "1": {
+    "name": "bond0",
+    "is_valid": true,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "lan-802.3",
+      "protocol_type": "ipmb-1.0",
+      "session_supported": "multi-session",
+      "is_ipmi": true
+    }
+  },
+  "2": {
+    "name": "eth1",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "lan-802.3",
+      "protocol_type": "ipmb-1.0",
+      "session_supported": "multi-session",
+      "is_ipmi": true
+    }
+  },
+  "3": {
+    "name": "usb0",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "lan-802.3",
+      "protocol_type": "ipmb-1.0",
+      "session_supported": "multi-session",
+      "is_ipmi": true
+    }
+  },
+  "4": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "5": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "6": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "7": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "8": {
+    "name": "INTRABMC",
+    "is_valid": true,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "oem",
+      "protocol_type": "oem",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "9": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "10": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "11": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "12": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "13": {
+    "name": "RESERVED",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "reserved",
+      "protocol_type": "na",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "14": {
+    "name": "SELF",
+    "is_valid": false,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "ipmb",
+      "protocol_type": "ipmb-1.0",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  },
+  "15": {
+    "name": "ipmi_kcs3",
+    "is_valid": true,
+    "active_sessions": 0,
+    "channel_info": {
+      "medium_type": "system-interface",
+      "protocol_type": "kcs",
+      "session_supported": "session-less",
+      "is_ipmi": true
+    }
+  }
+}
\ No newline at end of file
diff --git a/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
new file mode 100644
index 0000000..bb113a1
--- /dev/null
+++ b/meta-quanta/meta-s6q/recipes-phosphor/ipmi/phosphor-ipmi-net_%.bbappend
@@ -0,0 +1 @@
+RMCPP_IFACE:s6q = "${@bb.utils.contains("MACHINE_FEATURES", "bonding", "bond0", "${DEFAULT_RMCPP_IFACE}", d)}"