diff --git a/app/common/directives/log-search-control.html b/app/common/directives/log-search-control.html
index 0e4136e..5d2246c 100644
--- a/app/common/directives/log-search-control.html
+++ b/app/common/directives/log-search-control.html
@@ -3,7 +3,7 @@
     <label for="content__search-input">Event Log Search</label>
     <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
     <div class="search-submit__wrapper">
-		<button class="clear-input" ng-click="customSearch = ''">&#10005;</button>
+		<button class="clear-input" ng-click="clear()">&#10005;</button>
         <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/>
     </div>
 </div>
\ No newline at end of file
diff --git a/app/common/directives/log-search-control.js b/app/common/directives/log-search-control.js
index 1fa268c..b198f2d 100644
--- a/app/common/directives/log-search-control.js
+++ b/app/common/directives/log-search-control.js
@@ -22,6 +22,11 @@
                         }
                     };
 
+                    $scope.clear = function(){
+                        $scope.customSearch = "";
+                        $scope.clearSearchItem();
+                    }
+
                     $scope.doSearchOnClick = function() {
                         var search = $scope.customSearch.replace(/^\s+/g,'').replace(/\s+$/g,'');
                         if (search.length >= 2) {
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 4eb5e06..408e42f 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -55,6 +55,45 @@
                   console.log(error);
                 });
               },
+              getNetworkInfo: function(){
+                var deferred = $q.defer();
+                $http({
+                  method: 'GET',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/network/enumerate",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true
+                }).success(function(response){
+                    var json = JSON.stringify(response);
+                    var content = JSON.parse(json);
+                    var hostname = "";
+                    var macAddress = "";
+
+                    if(content.data.hasOwnProperty('/xyz/openbmc_project/network/config') &&
+                      content.data['/xyz/openbmc_project/network/config'].hasOwnProperty('HostName')
+                      ){
+                      hostname = content.data['/xyz/openbmc_project/network/config'].HostName;
+                    }
+
+                    if(content.data.hasOwnProperty('/xyz/openbmc_project/network/eth0') &&
+                      content.data['/xyz/openbmc_project/network/eth0'].hasOwnProperty('MACAddress')
+                      ){
+                      macAddress = content.data['/xyz/openbmc_project/network/eth0'].MACAddress;
+                    }
+
+                    deferred.resolve({
+                      data: content.data,
+                      hostname: hostname,
+                      mac_address: macAddress,
+                    });
+                }).error(function(error){
+                  console.log(error);
+                  deferred.reject(error);
+                });
+                return deferred.promise;
+              },
               getLEDState: function(){
                 var deferred = $q.defer();
                 $http({
