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 |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.ConfigActivator$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 201 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.ConfigActivator$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 217 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.ConfigActivator$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 233 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.ConfigActivator$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 249 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.opendaylight.netvirt.openstack.netvirt.providers.NetvirtProvidersConfigImpl.onDataChanged(AsyncDataChangeEvent) | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 74 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Write to static field org.opendaylight.netvirt.openstack.netvirt.providers.NetvirtProvidersProvider.dataBroker from instance method new org.opendaylight.netvirt.openstack.netvirt.providers.NetvirtProvidersProvider(DataBroker, EntityOwnershipService, NotificationProviderService, PacketProcessingService, SalFlowService, short) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 63 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Should org.opendaylight.netvirt.openstack.netvirt.providers.NetvirtProvidersProvider$ProviderEntityListener be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 207 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to opAction in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.createOutputGroupInstructions(NodeBuilder, InstructionBuilder, Long, Long, List) | STYLE | DLS_DEAD_LOCAL_STORE | 1857 | Medium |
| Write to static field org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.groupId from instance method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.createOutputGroupInstructions(NodeBuilder, InstructionBuilder, Long, Long, List) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 1857 | Low |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.getTunnelReadinessStatus(Node, String) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 170 | Low |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.handleLocalVlanTableMiss(Long, Short, String, boolean) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 1635 | Low |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.handleVlanFloodOut(Long, Short, Short, String, Long, Long, boolean) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 1557 | Low |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.OF13Provider.handleVlanOut(Long, Short, Short, String, Long, String, boolean) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 1511 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.PipelineOrchestratorImpl.start() | BAD_PRACTICE | RV_RETURN_VALUE_IGNORED_BAD_PRACTICE | 142 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.Service.insertComparator isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 50 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclLearnServiceUtil.programEgressAclLearnRuleForIcmp(FlowBuilder, String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 304 | Medium |
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclLearnServiceUtil.programEgressAclLearnRuleForTcp(FlowBuilder) | STYLE | DLS_DEAD_LOCAL_STORE | 128 | Medium |
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclLearnServiceUtil.programEgressAclLearnRuleForUdp(FlowBuilder) | STYLE | DLS_DEAD_LOCAL_STORE | 223 | Medium |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclLearnServiceUtil.buildAction(int, String[], String[][]) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 338 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressOtherProtocolAclHandler(Long, String, String, NeutronSecurityRule, String, boolean, boolean) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead | PERFORMANCE | DM_NUMBER_CTOR | 194 | Medium |
| Redundant nullcheck of portSecurityList, which is known to be non-null in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.programPortSecurityGroup(Long, String, String, long, NeutronSecurityGroup, String, NodeId, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 74 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclIcmpV4(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 576 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclTcp(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 497 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclUdp(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 749 | Medium |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclAllowTrafficFromVmIpMacPair(Long, long, String, String, Integer, boolean) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 862 | Low |
| Private method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclAllowTrafficFromVmIpV6MacPair(Long, long, String, String, Integer, boolean) is never called | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 886 | Low |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclTcp(Long, String, String, NeutronSecurityRule, String, boolean) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 496 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.EgressAclService.egressAclUdp(Long, String, String, NeutronSecurityRule, String, boolean) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 748 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclLearnServiceUtil.programIngressAclLearnRuleForIcmp(FlowBuilder, String, String) | STYLE | DLS_DEAD_LOCAL_STORE | 324 | Medium |
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclLearnServiceUtil.programIngressAclLearnRuleForTcp(FlowBuilder) | STYLE | DLS_DEAD_LOCAL_STORE | 146 | Medium |
| Dead store to ab in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclLearnServiceUtil.programIngressAclLearnRuleForUdp(FlowBuilder) | STYLE | DLS_DEAD_LOCAL_STORE | 244 | Medium |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclLearnServiceUtil.buildAction(int, String[], String[][]) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 358 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to nodeName in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.programIngressAclFixedConntrackRule(Long, String, String, long, boolean) | STYLE | DLS_DEAD_LOCAL_STORE | 275 | Low |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressOtherProtocolAclHandler(Long, String, String, NeutronSecurityRule, String, boolean, boolean) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead | PERFORMANCE | DM_NUMBER_CTOR | 188 | Medium |
| Redundant nullcheck of portSecurityList, which is known to be non-null in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.programPortSecurityGroup(Long, String, String, long, NeutronSecurityGroup, String, NodeId, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 69 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressAclIcmpV4(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 662 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressAclTcp(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 489 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressAclUdp(Long, String, String, NeutronSecurityRule, String, boolean) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 581 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressAclTcp(Long, String, String, NeutronSecurityRule, String, boolean) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 488 | Medium |
| org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.IngressAclService.ingressAclUdp(Long, String, String, NeutronSecurityRule, String, boolean) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 580 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.L2ForwardingLearnService.buildAction(int, String[], String[][]) | PERFORMANCE | DM_BOXED_PRIMITIVE_FOR_PARSING | 155 | High |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Useless object stored in variable isb of method org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.L2ForwardingService.removeOutputPortFromInstructions(InstructionBuilder, Long, Long, Long, List) | STYLE | UC_USELESS_OBJECT | 391 | Medium |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| LoadBalancerService.southbound not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.LoadBalancerService.getDpid(Node) | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | 82 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Dead store to macAddrOfPortPairList in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderUnicastFlowFromExternal(Long, String, Long, Long, String, Map, boolean) | STYLE | DLS_DEAD_LOCAL_STORE | 456 | Medium |
| Dead store to lstMacAddress in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderNetworkForExternal(Long, String, Long, String, Map, boolean) | STYLE | DLS_DEAD_LOCAL_STORE | 513 | Low |
| vlanProviderCache could be null and is guaranteed to be dereferenced in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderNetworkForExternal(Long, String, Long, String, Map, boolean) | CORRECTNESS | NP_GUARANTEED_DEREF | 518 | Medium |
| Redundant nullcheck of lstMacAddress, which is known to be non-null in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderNetworkForExternal(Long, String, Long, String, Map, boolean) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 533 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.populateSegmentationCache() | STYLE | REC_CATCH_EXCEPTION | 626 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderBroadAndMultiCastOfExternal(Long, String, Long, Long, String, boolean) | STYLE | REC_CATCH_EXCEPTION | 400 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderNetworkForExternal(Long, String, Long, String, Map, boolean) | STYLE | REC_CATCH_EXCEPTION | 542 | Low |
| Exception is caught when Exception is not thrown in org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.VlanResponderService.programProviderUnicastFlowOfRouters(Long, String, Long, Long, String, boolean) | STYLE | REC_CATCH_EXCEPTION | 335 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.arp.Arp$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 45 | 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 | 332 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| The class org.opendaylight.netvirt.openstack.netvirt.providers.openflow13.services.arp.GatewayMacResolverService$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 429 | Low |
| Bug | Category | Details | Line | Priority |
|---|---|---|---|---|
| Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.providers.config.rev160109.NetvirtProvidersConfigBuilder$NetvirtProvidersConfigImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.providers.config.rev160109.NetvirtProvidersConfigBuilder$NetvirtProvidersConfigImpl.equals(Object) | STYLE | BC_UNCONFIRMED_CAST | 435 | Low |