- //TODO: Use latest interface RPC
-// try {
-// destInterfaceName = serviceProvider.getInterfaceManager().getInterfaceNameForInterfaceTag(portTag);
-// } catch(InterfaceNotFoundException e) {
-// LOG.warn("Error retrieving interface Name for tag {}", portTag, e);
-// }
+
+ try {
+ GetInterfaceFromIfIndexInput input = new GetInterfaceFromIfIndexInputBuilder().setIfIndex(portTag).build();
+ Future<RpcResult<GetInterfaceFromIfIndexOutput>> output = serviceProvider.getInterfaceManager().getInterfaceFromIfIndex(input);
+ RpcResult<GetInterfaceFromIfIndexOutput> result = output.get();
+ if(result.isSuccessful()) {
+ GetInterfaceFromIfIndexOutput ifIndexOutput = result.getResult();
+ destInterfaceName = ifIndexOutput.getInterfaceName();
+ } else {
+ LOG.warn("RPC call to get interface name for if index {} failed with errors {}", portTag, result.getErrors());
+ return null;
+ }
+ } catch(InterruptedException | ExecutionException e) {
+ LOG.warn("Error retrieving interface Name for tag {}", portTag, e);
+ }