Committed by
Jonathan Hart
Added methods to Bmv2ThriftClient to dump the device JSON config
Change-Id: I8ad334d3030f2754f9361731e4c53d446efcb663
Showing
2 changed files
with
46 additions
and
0 deletions
| ... | @@ -97,4 +97,20 @@ public interface Bmv2Client { | ... | @@ -97,4 +97,20 @@ public interface Bmv2Client { |
| 97 | * @throws Bmv2RuntimeException if any error occurs | 97 | * @throws Bmv2RuntimeException if any error occurs |
| 98 | */ | 98 | */ |
| 99 | void resetState() throws Bmv2RuntimeException; | 99 | void resetState() throws Bmv2RuntimeException; |
| 100 | + | ||
| 101 | + /** | ||
| 102 | + * Returns the JSON-formatted model configuration currently used to process packets. | ||
| 103 | + * | ||
| 104 | + * @return a JSON-formatted string value | ||
| 105 | + * @throws Bmv2RuntimeException if any error occurs | ||
| 106 | + */ | ||
| 107 | + String dumpJsonConfig() throws Bmv2RuntimeException; | ||
| 108 | + | ||
| 109 | + /** | ||
| 110 | + * Returns the md5 hash of the JSON-formatted model configuration currently used to process packets. | ||
| 111 | + * | ||
| 112 | + * @return a string value | ||
| 113 | + * @throws Bmv2RuntimeException if any error occurs | ||
| 114 | + */ | ||
| 115 | + String getJsonConfigMd5() throws Bmv2RuntimeException; | ||
| 100 | } | 116 | } | ... | ... |
| ... | @@ -420,6 +420,36 @@ public final class Bmv2ThriftClient implements Bmv2Client { | ... | @@ -420,6 +420,36 @@ public final class Bmv2ThriftClient implements Bmv2Client { |
| 420 | } | 420 | } |
| 421 | } | 421 | } |
| 422 | 422 | ||
| 423 | + @Override | ||
| 424 | + public String dumpJsonConfig() throws Bmv2RuntimeException { | ||
| 425 | + | ||
| 426 | + LOG.debug("Dumping device config... > deviceId={}", deviceId); | ||
| 427 | + | ||
| 428 | + try { | ||
| 429 | + String config = standardClient.bm_get_config(); | ||
| 430 | + LOG.debug("Device config dumped! > deviceId={}, configLength={}", deviceId, config.length()); | ||
| 431 | + return config; | ||
| 432 | + } catch (TException e) { | ||
| 433 | + LOG.debug("Exception while dumping device config: {} > deviceId={}", e, deviceId); | ||
| 434 | + throw new Bmv2RuntimeException(e.getMessage(), e); | ||
| 435 | + } | ||
| 436 | + } | ||
| 437 | + | ||
| 438 | + @Override | ||
| 439 | + public String getJsonConfigMd5() throws Bmv2RuntimeException { | ||
| 440 | + | ||
| 441 | + LOG.debug("Getting device config md5... > deviceId={}", deviceId); | ||
| 442 | + | ||
| 443 | + try { | ||
| 444 | + String md5 = standardClient.bm_get_config_md5(); | ||
| 445 | + LOG.debug("Device config md5 received! > deviceId={}, configMd5={}", deviceId, md5); | ||
| 446 | + return md5; | ||
| 447 | + } catch (TException e) { | ||
| 448 | + LOG.debug("Exception while getting device config md5: {} > deviceId={}", e, deviceId); | ||
| 449 | + throw new Bmv2RuntimeException(e.getMessage(), e); | ||
| 450 | + } | ||
| 451 | + } | ||
| 452 | + | ||
| 423 | /** | 453 | /** |
| 424 | * Transport/client cache loader. | 454 | * Transport/client cache loader. |
| 425 | */ | 455 | */ | ... | ... |
-
Please register or login to post a comment