From db6254e3c59ef887ff41ff2aff44349010bd6bad Mon Sep 17 00:00:00 2001
From: imarom <imarom@cisco.com>
Date: Tue, 26 Jan 2016 09:53:21 -0500
Subject: packet is now base64 encoded

---
 .../trex_control_plane/client_utils/jsonrpc_client.py          |  7 ++++++-
 .../trex_control_plane/client_utils/packet_builder.py          | 10 +++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

(limited to 'scripts/automation/trex_control_plane/client_utils')

diff --git a/scripts/automation/trex_control_plane/client_utils/jsonrpc_client.py b/scripts/automation/trex_control_plane/client_utils/jsonrpc_client.py
index 05a32bc4..9c351175 100755
--- a/scripts/automation/trex_control_plane/client_utils/jsonrpc_client.py
+++ b/scripts/automation/trex_control_plane/client_utils/jsonrpc_client.py
@@ -81,7 +81,7 @@ class JsonRpcClient(object):
         return pretty_str
 
     def verbose_msg (self, msg):
-        self.logger.log("[verbose] " + msg, level = self.logger.VERBOSE_HIGH)
+        self.logger.log("\n\n[verbose] " + msg, level = self.logger.VERBOSE_HIGH)
 
 
     # batch messages
@@ -215,6 +215,11 @@ class JsonRpcClient(object):
 
         self.connected = True
 
+        rc = self.invoke_rpc_method('ping')
+        if not rc:
+            self.connected = False
+            return rc
+        
         return RC_OK()
 
 
diff --git a/scripts/automation/trex_control_plane/client_utils/packet_builder.py b/scripts/automation/trex_control_plane/client_utils/packet_builder.py
index fe96789e..c7d3308e 100755
--- a/scripts/automation/trex_control_plane/client_utils/packet_builder.py
+++ b/scripts/automation/trex_control_plane/client_utils/packet_builder.py
@@ -12,7 +12,7 @@ import re
 import itertools
 from abc import ABCMeta, abstractmethod
 from collections import namedtuple
-
+import base64
 
 class CTRexPktBuilder(object):
     """
@@ -332,6 +332,7 @@ class CTRexPktBuilder(object):
 
     def load_packet_from_byte_list(self, byte_list):
         # convert byte array into buffer
+        byte_list = [ord(c) for c in base64.b64decode(byte_list)]
         buf = struct.pack('B'*len(byte_list), *byte_list)
 
         # thn, load it based on dpkt parsing
@@ -480,11 +481,10 @@ class CTRexPktBuilder(object):
         """
         if self._packet is None:
             raise CTRexPktBuilder.EmptyPacketError()
-        pkt_in_hex = binascii.hexlify(str(self._packet))
-        return {"binary": [int(pkt_in_hex[i:i+2], 16)
-                           for i in range(0, len(pkt_in_hex), 2)],
+
+        return {"binary": base64.b64encode(str(self._packet)),
                 "meta": self.metadata}
-        # return [pkt_in_hex[i:i+2] for i in range(0, len(pkt_in_hex), 2)]
+
 
     def dump_pkt_to_pcap(self, file_path, ts=None):
         """
-- 
cgit