diff --git a/user_channel/channel_layer.cpp b/user_channel/channel_layer.cpp
index 34a596d..da9c613 100644
--- a/user_channel/channel_layer.cpp
+++ b/user_channel/channel_layer.cpp
@@ -142,4 +142,8 @@
     return getChannelConfigObject().getChannelName(chNum);
 }
 
+uint8_t getChannelByName(const std::string& chName)
+{
+    return getChannelConfigObject().getChannelByName(chName);
+}
 } // namespace ipmi
diff --git a/user_channel/channel_layer.hpp b/user_channel/channel_layer.hpp
index 1a8d64c..4308794 100644
--- a/user_channel/channel_layer.hpp
+++ b/user_channel/channel_layer.hpp
@@ -24,6 +24,7 @@
 
 static constexpr uint8_t maxIpmiChannels = 16;
 static constexpr uint8_t currentChNum = 0xE;
+static constexpr uint8_t invalidChannel = 0xff;
 
 /**
  * @enum IPMI return codes specific to channel (refer spec se 22.22 response
@@ -367,4 +368,12 @@
  */
 std::string getChannelName(const uint8_t chNum);
 
+/** @brief Retrieves the LAN channel number from the IPMI channel name
+ *
+ *  @param[in] chName - IPMI channel name (i.e. eth0)
+ *
+ *  @return the LAN channel number
+ */
+uint8_t getChannelByName(const std::string& chName);
+
 } // namespace ipmi
diff --git a/user_channel/channel_mgmt.hpp b/user_channel/channel_mgmt.hpp
index 35bb494..baeb8c7 100644
--- a/user_channel/channel_mgmt.hpp
+++ b/user_channel/channel_mgmt.hpp
@@ -105,6 +105,18 @@
      */
     std::string getChannelName(const uint8_t chNum);
 
+    /** @brief function to get channel number from channel name
+     *
+     *  @param[in] chName - channel name
+     *
+     *  @return network channel interface number
+     */
+
+    uint8_t getChannelByName(const std::string& chName)
+    {
+        return convertToChannelNumberFromChannelName(chName);
+    }
+
     /** @brief determines supported session type of a channel
      *
      *  @param[in] chNum - channel number
