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 |
|---|---|---|---|---|
| Redundant nullcheck of egressActionList, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller.buildExtNetGroupEntity(String, String, long, String) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 194 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 40 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to groupId in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.changeBgpVpnIdToLocalVpnId(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 2142 | Medium |
| Dead store to groupId in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.changeLocalVpnIdToBgpVpnId(String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 2116 | Medium |
| Dead store to result in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) | STYLE | DLS_DEAD_LOCAL_STORE | 568 | Low |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.removeNaptFlowsFromActiveSwitch(long, String, BigInteger, Uuid, String, List) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 1699 | High |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.removeNaptFlowsFromActiveSwitchInternetVpn(long, String, BigInteger, Uuid, String) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 1795 | High |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.update(InstanceIdentifier, Routers, Routers) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 1326 | High |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.updateNaptFlowsWithVpnId(BigInteger, long, long) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 2262 | High |
| org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.getGroupIdKey(String) invokes inefficient new String(String) constructor | PERFORMANCE | DM_STRING_CTOR | 811 | Medium |
| Redundant nullcheck of listActionInfoPrimary, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.getBucketInfoForNonNaptSwitches(BigInteger, BigInteger, String) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 881 | Low |
| Redundant nullcheck of listActionInfoPrimary, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleSwitches(BigInteger, String, BigInteger) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 857 | Low |
| Useless condition: it's known that tempLabel != -1 at this point | STYLE | UC_USELESS_CONDITION | 1969 | Medium |
| Useless condition: it's known that tempLabel != -1 at this point | STYLE | UC_USELESS_CONDITION | 1900 | Medium |
| Useless object stored in variable removedExternalIpsAsList of method org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.update(InstanceIdentifier, Routers, Routers) | STYLE | UC_USELESS_OBJECT | 1193 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 1057 | Low |
| The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 1048 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 1940 | Low |
| The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 1931 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 2009 | Low |
| The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$6 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 2000 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.FloatingIPListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 54 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 49 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Load of known null value in org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker.call() | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 461 | Medium |
| Unread field: org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker.original | PERFORMANCE | URF_UNREAD_FIELD | 443 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.natservice.internal.NaptEventHandler.getInterfaceNameFromTag(long) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 437 | Medium |
| Load of known null value in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 152 | Medium |
| Load of known null value in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.buildAndGetMatchInfo(String, int, short, NAPTEntryEvent$Protocol, long, long) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 295 | Low |
| Should org.opendaylight.netvirt.natservice.internal.NaptEventHandler.buildNaptPacketOut(Ethernet) return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 410 | Low |
| Redundant nullcheck of externalAddress which is known to be null in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE | 152 | Low |
| Repeated conditional test in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) | CORRECTNESS | RpC_REPEATED_CONDITIONAL_TEST | 151 | Medium |
| Write to static field org.opendaylight.netvirt.natservice.internal.NaptEventHandler.mdsalManager from instance method new org.opendaylight.netvirt.natservice.internal.NaptEventHandler(DataBroker, IMdsalApiManager, NaptManager, PacketProcessingService, OdlInterfaceRpcService, IInterfaceManager) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 67 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.natservice.internal.NaptManager.checkIpMap(long, String) invokes toString() method on a String | PERFORMANCE | DM_STRING_TOSTRING | 512 | Low |
| Write to static field org.opendaylight.netvirt.natservice.internal.NaptManager.EXTSUBNET_FLAG from instance method org.opendaylight.netvirt.natservice.internal.NaptManager.getExternalAddressMapping(long, SessionAddress, NAPTEntryEvent$Protocol) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 245 | Medium |
| Write to static field org.opendaylight.netvirt.natservice.internal.NaptManager.NEXT_EXTIP_FLAG from instance method org.opendaylight.netvirt.natservice.internal.NaptManager.getExternalAddressMapping(long, SessionAddress, NAPTEntryEvent$Protocol) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 281 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to naptEntryEvent in org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler.onPacketReceived(PacketReceived) | STYLE | DLS_DEAD_LOCAL_STORE | 113 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.handleNatFlowsInNewNaptSwitch(Long, BigInteger, BigInteger, Long) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 513 | High |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 274 | High |
| Redundant nullcheck of bucketInfoList, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.updateNaptSwitchBucketStatus(String, BigInteger) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 450 | Medium |
| Redundant nullcheck of routerNamesAssociated, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 187 | Low |
| org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 222 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.natservice.internal.NatConstants.COOKIE_NAPT_BASE isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 18 | High |
| org.opendaylight.netvirt.natservice.internal.NatConstants.EVENT_QUEUE_LENGTH isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 22 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 31 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.NatNodeEventListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 26 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 50 | Low |
| Switch statement found in org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener.hndlTepEvntsForDpn(StateTunnelList, NatTunnelInterfaceStateListener$TunnelAction) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 268 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 583 | Low |
| The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 574 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 664 | Low |
| The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 655 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 831 | Low |
| The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 822 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to result in org.opendaylight.netvirt.natservice.internal.NatUtil.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) | STYLE | DLS_DEAD_LOCAL_STORE | 426 | Low |
| org.opendaylight.netvirt.natservice.internal.NatUtil.getGroupIdKey(String) invokes inefficient new String(String) constructor | PERFORMANCE | DM_STRING_CTOR | 729 | Medium |
| Should org.opendaylight.netvirt.natservice.internal.NatUtil.getSubnetIpAndPrefix(DataBroker, Uuid) return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 855 | Low |
| Redundant nullcheck of split, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NatUtil.getDpnFromNodeConnectorId(NodeConnectorId) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 563 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Load of known null value in org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.remove(InstanceIdentifier, DpnVpninterfacesList) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 155 | Medium |
| Redundant nullcheck of bucketInfo, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.handleSNATForDPN(BigInteger, String, Long) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 241 | Medium |
| Class org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 35 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Class org.opendaylight.netvirt.natservice.internal.RouterPortsListener implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | 30 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Useless object stored in variable portToDpnMap of method org.opendaylight.netvirt.natservice.internal.RouterToVpnListener.handleDNATConfigurationForRouterAssociation(String, String, String) | STYLE | UC_USELESS_OBJECT | 101 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to defaultIP in org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer.buildDefNATFlowEntity(BigInteger, long) | STYLE | DLS_DEAD_LOCAL_STORE | 42 | Medium |
| Dead store to defaultIP in org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer.buildDefNATFlowEntity(BigInteger, long, long) | STYLE | DLS_DEAD_LOCAL_STORE | 80 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 190 | Low |
| The class org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 181 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| result must be non-null but is marked as nullable | STYLE | NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE | 273 | Low |
| The class org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 264 | Low |