- BigInteger metadata = packetReceived.getMatch().getMetadata().getMetadata();
- int portTag = MetaDataUtil.getLportFromMetadata(metadata).intValue();
- if(portTag == 0) {
- LOG.trace("Ignoring Packet-in for interface tag 0");
- return null;
- }
-
- String destInterfaceName = null;
-
- 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);
- }
-