The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is low
Effort is max
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager.ArpConstants.ARP_CACHE_TIMEOUT_MILLIS isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 19 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.FibEntriesListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 25 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of intrf at line 123 of value previously dereferenced in org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener.remove(InstanceIdentifier, Interface) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 120 | Medium |
| Nullcheck of update at line 181 of value previously dereferenced in org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener.update(InstanceIdentifier, Interface, Interface) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 171 | Medium |
| Class org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 32 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to intfDpnId in org.opendaylight.netvirt.vpnmanager.InterfaceStateChangeListener$1.call() | STYLE | DLS_DEAD_LOCAL_STORE | 88 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager.MacEntry.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 68 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Nullcheck of update at line 159 of value previously dereferenced in org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener.update(InstanceIdentifier, Interface, Interface) | CORRECTNESS | RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE | 156 | Medium |
| Class org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 33 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to dpnId in org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$1.call() | STYLE | DLS_DEAD_LOCAL_STORE | 83 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to dpnId in org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$2.call() | STYLE | DLS_DEAD_LOCAL_STORE | 127 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to dpnId in org.opendaylight.netvirt.vpnmanager.SubnetRouteInterfaceStateChangeListener$3.call() | STYLE | DLS_DEAD_LOCAL_STORE | 169 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to dstMac in org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler.onPacketReceived(PacketReceived) | STYLE | DLS_DEAD_LOCAL_STORE | 82 | Medium |
| Dead store to key in org.opendaylight.netvirt.vpnmanager.SubnetRoutePacketInHandler.onPacketReceived(PacketReceived) | STYLE | DLS_DEAD_LOCAL_STORE | 130 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener.handleTunnelEventForDPN(StateTunnelList, TunnelInterfaceStateListener$UpdateRouteAction, TunnelInterfaceStateListener$TunnelAction) | STYLE | REC_CATCH_EXCEPTION | 311 | Low |
| Class org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 53 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unread field: org.opendaylight.netvirt.vpnmanager.TunnelInterfaceStateListener$UpdateVpnInterfaceOnTunnelEvent.broker | PERFORMANCE | URF_UNREAD_FIELD | 333 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.vpnmanager.VpnConstants.EthernetDestination_Broadcast should be both final and package protected | MALICIOUS_CODE | MS_FINAL_PKGPROTECT | 40 | Medium |
| org.opendaylight.netvirt.vpnmanager.VpnConstants.MAC_Broadcast should be both final and package protected | MALICIOUS_CODE | MS_FINAL_PKGPROTECT | 42 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.vpnmanager.VpnFootprintService$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 197 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.vpnmanager.VpnFootprintService$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 215 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to currentIntfCount in org.opendaylight.netvirt.vpnmanager.VpnInstanceListener.waitForOpRemoval(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 91 | Low |
| Dead store to dpn in org.opendaylight.netvirt.vpnmanager.VpnInstanceListener.waitForOpRemoval(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 153 | Low |
| Class org.opendaylight.netvirt.vpnmanager.VpnInstanceListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 47 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unread field: org.opendaylight.netvirt.vpnmanager.VpnInstanceListener$AddVpnInstanceWorker.idManager | PERFORMANCE | URF_UNREAD_FIELD | 318 | Medium |
| Unread field: org.opendaylight.netvirt.vpnmanager.VpnInstanceListener$AddVpnInstanceWorker.vpnInterfaceManager | PERFORMANCE | URF_UNREAD_FIELD | 319 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.addToLabelMapper(Long, BigInteger, String, List, Long, String, Long, boolean, String, WriteTransaction) | PERFORMANCE | BX_UNBOXING_IMMEDIATELY_REBOXED | 1399 | Medium |
| Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.updateLabelMapper(Long, List) | PERFORMANCE | BX_UNBOXING_IMMEDIATELY_REBOXED | 1431 | Medium |
| Dead store to adjsList in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.deleteFibEntryForRouterInterface(VpnInterface, WriteTransaction) | STYLE | DLS_DEAD_LOCAL_STORE | 1861 | Medium |
| Dead store to nhList in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.updateVpnInterfaceOnTepAdd(VpnInterface, StateTunnelList, WriteTransaction, WriteTransaction) | STYLE | DLS_DEAD_LOCAL_STORE | 671 | Medium |
| Dead store to routerGwMac in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.getGatewayMacAddressForInterface(String, String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 1192 | Low |
| Dead store to rd in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.handleVpnsExportingRoutes(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 935 | Low |
| Dead store to dpId in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.remove(InstanceIdentifier, VpnInterface) | STYLE | DLS_DEAD_LOCAL_STORE | 997 | Low |
| Potentially dangerous use of non-short-circuit logic in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.updateVpnInterfaceOnTepDelete(VpnInterface, StateTunnelList, WriteTransaction, WriteTransaction) | STYLE | NS_DANGEROUS_NON_SHORT_CIRCUIT | 767 | High |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.handleVpnsExportingRoutes(String, String) | STYLE | REC_CATCH_EXCEPTION | 961 | Low |
| Class org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 120 | Low |
| Useless object stored in variable routerInterfaces of method org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.addToNeutronRouterDpnsMap(String, String, WriteTransaction) | STYLE | UC_USELESS_OBJECT | 1757 | Medium |
| Private method org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.getErrorText(Collection) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 1377 | Low |
| Private method org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.getInterfaceListenerPath() is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 193 | Low |
| Unconditional wait in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.processVpnInterfaceUp(BigInteger, VpnInterface, int, boolean, WriteTransaction, WriteTransaction, WriteTransaction, Interface) | MT_CORRECTNESS | UW_UNCOND_WAIT | 353 | Low |
| Wait not in loop in org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager.processVpnInterfaceUp(BigInteger, VpnInterface, int, boolean, WriteTransaction, WriteTransaction, WriteTransaction, Interface) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 353 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| input must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 836 | Low |
| The class org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 833 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to vpnName in org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener.remove(InstanceIdentifier, VpnInterface) | STYLE | DLS_DEAD_LOCAL_STORE | 77 | Medium |
| Dead store to vpnName in org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener.update(InstanceIdentifier, VpnInterface, VpnInterface) | STYLE | DLS_DEAD_LOCAL_STORE | 176 | Medium |
| Class org.opendaylight.netvirt.vpnmanager.VpnInterfaceOpListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 36 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Possible null pointer dereference of result in org.opendaylight.netvirt.vpnmanager.VpnManagerImpl.createIdPool() | CORRECTNESS | NP_NULL_ON_SOME_PATH | 99 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.VpnNodeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 40 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Naked notify in org.opendaylight.netvirt.vpnmanager.VpnNotifyTask.run() | MT_CORRECTNESS | NN_NAKED_NOTIFY | 21 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | MT_CORRECTNESS | AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION | 78 | Medium |
| Dead store to elapsedTimeNs in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | STYLE | DLS_DEAD_LOCAL_STORE | 85 | Low |
| Synchronization performed on java.util.concurrent.ConcurrentHashMap in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.notifyVpnOpDataReady(VpnOpDataSyncer$VpnOpDataType, String) | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 121 | Medium |
| Synchronization performed on java.util.concurrent.ConcurrentHashMap in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 74 | Medium |
| Synchronization performed on java.util.concurrent.ConcurrentHashMap in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | MT_CORRECTNESS | JLM_JSR166_UTILCONCURRENT_MONITORENTER | 105 | Medium |
| Unconditional wait in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | MT_CORRECTNESS | UW_UNCOND_WAIT | 88 | Low |
| Wait not in loop in org.opendaylight.netvirt.vpnmanager.VpnOpDataSyncer.waitForVpnDataReady(VpnOpDataSyncer$VpnOpDataType, String, long) | MT_CORRECTNESS | WA_NOT_IN_LOOP | 88 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Format-string method String.format(String, Object[]) called with format string "Could not retrieve the label for prefix {} in VPN {}" wants 0 arguments but is given 2 in org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl.generateVpnLabel(GenerateVpnLabelInput) | CORRECTNESS | VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED | 76 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to nhDpnId in org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onSubnetDeletedFromVpn(SubnetDeletedFromVpn) | STYLE | DLS_DEAD_LOCAL_STORE | 303 | Medium |
| Dead store to dpnId in org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onPortAddedToSubnet(PortAddedToSubnet) | STYLE | DLS_DEAD_LOCAL_STORE | 386 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.onSubnetAddedToVpn(SubnetAddedToVpn) | STYLE | REC_CATCH_EXCEPTION | 240 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.updateSubnetRouteOnTunnelDownEvent(Uuid, BigInteger) | STYLE | REC_CATCH_EXCEPTION | 836 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.VpnSubnetRouteHandler.updateSubnetRouteOnTunnelUpEvent(Uuid, BigInteger) | STYLE | REC_CATCH_EXCEPTION | 799 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to result in org.opendaylight.netvirt.vpnmanager.VpnUtil.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) | STYLE | DLS_DEAD_LOCAL_STORE | 783 | Low |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.vpnmanager.VpnUtil.isIpInSubnet(int, String) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 919 | High |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.vpnmanager.VpnUtil.createLearntVpnVipToPort(DataBroker, String, String, String, String) | I18N | DM_CONVERT_CASE | 1074 | Low |
| String is incompatible with expected argument type org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpn.to.dpn.list.VpnInterfaces in org.opendaylight.netvirt.vpnmanager.VpnUtil.isVpnIntfPresentInVpnToDpnList(DataBroker, VpnInterface) | CORRECTNESS | GC_UNRELATED_TYPES | 1367 | High |
| Redundant nullcheck of dpIds, which is known to be non-null in org.opendaylight.netvirt.vpnmanager.VpnUtil.setupSubnetMacIntoVpnInstance(DataBroker, IMdsalApiManager, String, String, BigInteger, WriteTransaction, int) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 1220 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| isOwner must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 1341 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.vpnmanager.arp.responder.ArpResponderUtil.retrieveStandardArpResponderGroupId(IdManagerService) | PERFORMANCE | BX_UNBOXING_IMMEDIATELY_REBOXED | 485 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.cache.listeners.VpnOpInstanceCacheManager implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 29 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkCacheFeeder implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 30 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 75 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkListener$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 506 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Possible null pointer dereference of irts1 on branch that might be infeasible in org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkLocator.haveSameIRTs(List, List) | STYLE | NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE | 164 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 46 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkNodeListener$InterVpnLinkNodeWorker be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 116 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkStateCacheFeeder implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 33 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.vpnmanager.intervpnlink.InterVpnLinkUtil.leakRoute(DataBroker, IBgpManager, InterVpnLink, String, String, String, Long, RouteOrigin) | STYLE | REC_CATCH_EXCEPTION | 507 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigBuilder$VpnConfigImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.vpn.config.rev161130.VpnConfigBuilder$VpnConfigImpl.equals(Object) | STYLE | BC_UNCONFIRMED_CAST | 214 | Low |