Preparing report...

Report for github.com/weaveworks/weave

A+    Excellent!    Found 101 issues across 157 files

Tweet

gofmt99%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo87%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • weave/net/veth.go
    • Line 258: warning: cyclomatic complexity 24 of function DetachContainer() is high (> 15) (gocyclo)
    • Line 16: warning: cyclomatic complexity 16 of function CreateAndAttachVeth() is high (> 15) (gocyclo)
    • weave/net/bridge.go
    • Line 460: warning: cyclomatic complexity 22 of function ConfigureIPTables() is high (> 15) (gocyclo)
    • Line 237: warning: cyclomatic complexity 16 of function EnsureBridge() is high (> 15) (gocyclo)
    • weave/prog/kube-utils/main.go
    • Line 312: warning: cyclomatic complexity 18 of function main() is high (> 15) (gocyclo)
    • Line 159: warning: cyclomatic complexity 16 of function reclaimPeer() is high (> 15) (gocyclo)
    • Line 96: warning: cyclomatic complexity 16 of function reclaimRemovedPeers() is high (> 15) (gocyclo)

golint43%

Golint is a linter for Go source code.

    • weave/testing/gossip/mocks.go
    • Line 35: warning: exported type TestRouter should have comment or be unexported (golint)
    • Line 41: warning: exported function NewTestRouter should have comment or be unexported (golint)
    • Line 56: warning: exported method TestRouter.Stop should have comment or be unexported (golint)
    • Line 92: warning: exported method TestRouter.Flush should have comment or be unexported (golint)
    • Line 100: warning: exported method TestRouter.RemovePeer should have comment or be unexported (golint)
    • Line 112: warning: exported type TestRouterClient should have comment or be unexported (golint)
    • Line 176: warning: exported method TestRouter.Connect should have comment or be unexported (golint)
    • Line 187: warning: exported method TestRouterClient.GossipUnicast should have comment or be unexported (golint)
    • Line 199: warning: exported method TestRouterClient.GossipBroadcast should have comment or be unexported (golint)
    • Line 203: warning: exported method TestRouterClient.GossipNeighbourSubset should have comment or be unexported (golint)
    • weave/proxy/status.go
    • Line 3: warning: exported type Status should have comment or be unexported (golint)
    • Line 7: warning: exported function NewStatus should have comment or be unexported (golint)
    • weave/net/ipsec/ipsec.go
    • Line 1: warning: package comment should be of the form "Package ipsec ..." (golint)
    • Line 39: warning: exported type SPI should have comment or be unexported (golint)
    • Line 60: warning: exported type IPSec should have comment or be unexported (golint)
    • Line 70: warning: exported function New should have comment or be unexported (golint)
    • weave/common/logging.go
    • Line 41: warning: exported var Log should have comment or be unexported (golint)
    • Line 49: warning: exported function SetLogLevel should have comment or be unexported (golint)
    • Line 57: warning: exported function CheckError should have comment or be unexported (golint)
    • Line 63: warning: exported function CheckFatal should have comment or be unexported (golint)
    • Line 69: warning: exported function CheckWarn should have comment or be unexported (golint)
    • Line 91: warning: exported function LogLogger should have comment or be unexported (golint)
    • weave/ipam/paxos/paxos.go
    • Line 7: warning: comment on exported type NodeID should be of the form "NodeID ..." (with optional leading article) (golint)
    • Line 16: warning: comment on exported type ProposalID should be of the form "ProposalID ..." (with optional leading article) (golint)
    • Line 41: warning: comment on exported type Value should be of the form "Value ..." (with optional leading article) (golint)
    • Line 52: warning: exported type NodeClaims should have comment or be unexported (golint)
    • Line 67: warning: exported type GossipState should have comment or be unexported (golint)
    • Line 69: warning: exported type Node should have comment or be unexported (golint)
    • Line 75: warning: exported function NewNode should have comment or be unexported (golint)
    • Line 83: warning: exported method Node.SetQuorum should have comment or be unexported (golint)
    • Line 87: warning: exported method Node.GossipState should have comment or be unexported (golint)
    • Line 127: warning: comment on exported method Node.Propose should be of the form "Propose ..." (golint)
    • Line 155: warning: comment on exported method Node.Think should be of the form "Think ..." (golint)
    • Line 242: warning: comment on exported method Node.Consensus should be of the form "Consensus ..." (golint)
    • Line 263: warning: exported method Node.IsElector should have comment or be unexported (golint)
    • Line 267: warning: exported type Status should have comment or be unexported (golint)
    • Line 273: warning: exported function NewStatus should have comment or be unexported (golint)
    • weave/npc/metrics/metrics.go
    • Line 25: warning: exported var PolicyEnforcementErrors should have comment or be unexported (golint)
    • Line 100: warning: exported function Start should have comment or be unexported (golint)
    • weave/net/netdev.go
    • Line 12: warning: exported type Dev should have comment or be unexported (golint)
    • Line 61: warning: comment on exported function GetWeaveNetDevs should be of the form "GetWeaveNetDevs ..." (golint)
    • Line 71: warning: exported function GetNetDevsByVethPeerIds should have comment or be unexported (golint)
    • Line 119: warning: comment on exported function GetBridgeNetDev should be of the form "GetBridgeNetDev ..." (golint)
    • weave/proxy/hosts.go
    • Line 12: warning: comment on exported method Proxy.RewriteEtcHosts should be of the form "RewriteEtcHosts ..." (golint)
    • weave/router/fastdp.go
    • Line 34: warning: exported type FastDatapath should have comment or be unexported (golint)
    • Line 70: warning: exported function NewFastDatapath should have comment or be unexported (golint)
    • Line 166: warning: exported method FastDatapath.Close should have comment or be unexported (golint)
    • Line 218: warning: exported method FastDatapath.InjectorConsumer should have comment or be unexported (golint)
    • Line 319: warning: exported method FastDatapath.Overlay should have comment or be unexported (golint)
    • Line 350: warning: exported type FastDPStatus should have comment or be unexported (golint)
    • Line 355: warning: exported type FlowStatus should have comment or be unexported (golint)
    • Line 357: warning: exported method FlowStatus.MarshalJSON should have comment or be unexported (golint)
    • Line 381: warning: exported type VportStatus should have comment or be unexported (golint)
    • Line 383: warning: exported method VportStatus.MarshalJSON should have comment or be unexported (golint)
    • Line 417: warning: exported type FastDPMetrics should have comment or be unexported (golint)
    • Line 423: warning: exported method FastDPStatus.Metrics should have comment or be unexported (golint)
    • Line 804: warning: exported const FastDatapathHeartbeatAck should have comment (or a comment on this block) or be unexported (golint)
    • Line 1120: warning: exported method FastDatapath.Miss should have comment or be unexported (golint)
    • Line 1159: warning: exported method FastDatapath.VportCreated should have comment or be unexported (golint)
    • Line 1170: warning: exported method FastDatapath.VportDeleted should have comment or be unexported (golint)
    • weave/router/flow.go
    • Line 11: warning: exported type MAC should have comment or be unexported (golint)
    • Line 17: warning: exported type PacketKey should have comment or be unexported (golint)
    • Line 22: warning: exported type ForwardPacketKey should have comment or be unexported (golint)
    • Line 28: warning: exported type FlowOp should have comment or be unexported (golint)
    • Line 39: warning: exported type DiscardingFlowOp should have comment or be unexported (golint)
    • Line 41: warning: exported method DiscardingFlowOp.Process should have comment or be unexported (golint)
    • Line 44: warning: exported method DiscardingFlowOp.Discards should have comment or be unexported (golint)
    • Line 48: warning: exported type NonDiscardingFlowOp should have comment or be unexported (golint)
    • Line 50: warning: exported method NonDiscardingFlowOp.Discards should have comment or be unexported (golint)
    • Line 54: warning: exported type MultiFlowOp should have comment or be unexported (golint)
    • Line 59: warning: exported function NewMultiFlowOp should have comment or be unexported (golint)
    • Line 67: warning: exported method MultiFlowOp.Add should have comment or be unexported (golint)
    • Line 71: warning: exported method MultiFlowOp.Process should have comment or be unexported (golint)
    • Line 77: warning: exported method MultiFlowOp.Discards should have comment or be unexported (golint)
    • Line 87: warning: comment on exported function FlattenFlowOp should be of the form "FlattenFlowOp ..." (golint)
    • weave/router/mac_cache.go
    • Line 11: warning: exported type MacCacheEntry should have comment or be unexported (golint)
    • Line 16: warning: exported type MacCache should have comment or be unexported (golint)
    • Line 24: warning: exported function NewMacCache should have comment or be unexported (golint)
    • Line 69: warning: exported method MacCache.Add should have comment or be unexported (golint)
    • Line 73: warning: exported method MacCache.AddForced should have comment or be unexported (golint)
    • Line 77: warning: exported method MacCache.Lookup should have comment or be unexported (golint)
    • Line 88: warning: exported method MacCache.Delete should have comment or be unexported (golint)
    • weave/api/ipam.go
    • Line 9: warning: comment on exported const NoContainerID should be of the form "NoContainerID ..." (golint)
    • Line 34: warning: comment on exported method Client.AllocateIP should be of the form "AllocateIP ..." (golint)
    • Line 39: warning: exported method Client.AllocateIPInSubnet should have comment or be unexported (golint)
    • Line 47: warning: comment on exported method Client.LookupIP should be of the form "LookupIP ..." (golint)
    • Line 53: warning: comment on exported method Client.ClaimIP should be of the form "ClaimIP ..." (golint)
    • Line 59: warning: comment on exported method Client.ReleaseIPsFor should be of the form "ReleaseIPsFor ..." (golint)
    • Line 65: warning: comment on exported method Client.RmPeer should be of the form "RmPeer ..." (golint)
    • Line 71: warning: exported method Client.DefaultSubnet should have comment or be unexported (golint)
    • weave/testing/util.go
    • Line 12: warning: exported function AssertErrorInterface should have comment or be unexported (golint)
    • Line 17: warning: exported function AssertErrorType should have comment or be unexported (golint)
    • weave/ipam/allocator.go
    • Line 80: warning: comment on exported type PreClaim should be of the form "PreClaim ..." (with optional leading article) (golint)
    • Line 87: warning: exported type Config should have comment or be unexported (golint)
    • Line 145: warning: exported function ParseCIDRSubnet should have comment or be unexported (golint)
    • Line 366: warning: exported method Allocator.ContainerStarted should have comment or be unexported (golint)
    • Line 372: warning: exported method Allocator.PruneOwned should have comment or be unexported (golint)
    • weave/prog/weaver/http.go
    • Line 261: warning: exported type VersionCheck should have comment or be unexported (golint)
    • Line 295: warning: exported type WeaveStatus should have comment or be unexported (golint)
    • Line 306: warning: comment on exported function HandleHTTP should be of the form "HandleHTTP ..." (golint)
    • weave/router/overlay_switch.go
    • Line 17: warning: exported type OverlaySwitch should have comment or be unexported (golint)
    • Line 23: warning: exported function NewOverlaySwitch should have comment or be unexported (golint)
    • Line 27: warning: exported method OverlaySwitch.Add should have comment or be unexported (golint)
    • Line 37: warning: exported method OverlaySwitch.SetCompatOverlay should have comment or be unexported (golint)
    • Line 41: warning: exported method OverlaySwitch.AddFeaturesTo should have comment or be unexported (golint)
    • Line 45: warning: exported method OverlaySwitch.Diagnostics should have comment or be unexported (golint)
    • Line 53: warning: exported method OverlaySwitch.Stop should have comment or be unexported (golint)
    • Line 59: warning: exported method OverlaySwitch.InvalidateRoutes should have comment or be unexported (golint)
    • Line 65: warning: exported method OverlaySwitch.InvalidateShortIDs should have comment or be unexported (golint)
    • Line 71: warning: exported method OverlaySwitch.StartConsumingPackets should have comment or be unexported (golint)
    • Line 178: warning: exported method OverlaySwitch.PrepareConnection should have comment or be unexported (golint)
    • weave/common/odp/odp.go
    • Line 13: warning: exported function CreateDatapath should have comment or be unexported (golint)
    • Line 59: warning: exported function DeleteDatapath should have comment or be unexported (golint)
    • Line 77: warning: exported function AddDatapathInterface should have comment or be unexported (golint)
    • Line 81: warning: exported function AddDatapathInterfaceIfNotExist should have comment or be unexported (golint)
    • weave/plugin/skel/listener.go
    • Line 21: warning: exported type Driver should have comment or be unexported (golint)
    • Line 36: warning: exported type IpamCapability should have comment or be unexported (golint)
    • Line 45: warning: exported function Listen should have comment or be unexported (golint)
    • weave/net/ethtool.go
    • Line 8: warning: exported const SIOCETHTOOL should have comment (or a comment on this block) or be unexported (golint)
    • Line 14: warning: comment on exported type IFReqData should be of the form "IFReqData ..." (with optional leading article) (golint)
    • Line 20: warning: comment on exported type EthtoolValue should be of the form "EthtoolValue ..." (with optional leading article) (golint)
    • Line 34: warning: comment on exported function EthtoolTXOff should be of the form "EthtoolTXOff ..." (golint)
    • weave/nameserver/nameserver.go
    • Line 26: warning: comment on exported const DefaultDomain should be of the form "DefaultDomain ..." (golint)
    • Line 30: warning: comment on exported type Nameserver should be of the form "Nameserver ..." (with optional leading article) (golint)
    • Line 45: warning: exported function New should have comment or be unexported (golint)
    • Line 54: warning: exported method Nameserver.SetGossip should have comment or be unexported (golint)
    • Line 58: warning: exported method Nameserver.Start should have comment or be unexported (golint)
    • Line 72: warning: exported method Nameserver.Stop should have comment or be unexported (golint)
    • Line 86: warning: exported method Nameserver.AddEntry should have comment or be unexported (golint)
    • Line 94: warning: exported method Nameserver.AddEntryFQDN should have comment or be unexported (golint)
    • Line 103: warning: exported method Nameserver.Lookup should have comment or be unexported (golint)
    • Line 119: warning: exported method Nameserver.ReverseLookup should have comment or be unexported (golint)
    • Line 133: warning: exported method Nameserver.ContainerStarted should have comment or be unexported (golint)
    • Line 134: warning: exported method Nameserver.ContainerDestroyed should have comment or be unexported (golint)
    • Line 136: warning: exported method Nameserver.ContainerDied should have comment or be unexported (golint)
    • Line 149: warning: exported method Nameserver.PeerGone should have comment or be unexported (golint)
    • Line 158: warning: exported method Nameserver.Delete should have comment or be unexported (golint)
    • Line 190: warning: exported method Nameserver.Gossip should have comment or be unexported (golint)
    • Line 201: warning: exported method Nameserver.OnGossipUnicast should have comment or be unexported (golint)
    • Line 257: warning: comment on exported method Nameserver.OnGossip should be of the form "OnGossip ..." (golint)
    • Line 264: warning: comment on exported method Nameserver.OnGossipBroadcast should be of the form "OnGossipBroadcast ..." (golint)
    • weave/router/network_router_status.go
    • Line 9: warning: exported type NetworkRouterStatus should have comment or be unexported (golint)
    • Line 16: warning: exported type MACStatus should have comment or be unexported (golint)
    • Line 23: warning: exported function NewNetworkRouterStatus should have comment or be unexported (golint)
    • Line 31: warning: exported function NewMACStatusSlice should have comment or be unexported (golint)
    • weave/plugin/plugin.go
    • Line 22: warning: exported const MulticastOption should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: exported var Log should have comment or be unexported (golint)
    • Line 27: warning: exported type Config should have comment or be unexported (golint)
    • Line 38: warning: exported type Plugin should have comment or be unexported (golint)
    • Line 42: warning: exported function NewPlugin should have comment or be unexported (golint)
    • Line 50: warning: exported method Plugin.Start should have comment or be unexported (golint)
    • weave/npc/constants.go
    • Line 4: warning: exported const TableFilter should have comment (or a comment on this block) or be unexported (golint)
    • weave/net/veth.go
    • Line 15: warning: comment on exported function CreateAndAttachVeth should be of the form "CreateAndAttachVeth ..." (golint)
    • Line 82: warning: exported function AddAddresses should have comment or be unexported (golint)
    • Line 109: warning: exported const VethName should have comment (or a comment on this block) or be unexported (golint)
    • Line 121: warning: exported function AttachContainer should have comment or be unexported (golint)
    • Line 238: warning: comment on exported function ConfigureARP should be of the form "ConfigureARP ..." (golint)
    • Line 258: warning: exported function DetachContainer should have comment or be unexported (golint)
    • weave/net/ipset/ipset.go
    • Line 15: warning: exported type Name should have comment or be unexported (golint)
    • Line 17: warning: exported type Type should have comment or be unexported (golint)
    • Line 19: warning: exported type UID should have comment or be unexported (golint)
    • Line 22: warning: exported const ListSet should have comment (or a comment on this block) or be unexported (golint)
    • Line 29: warning: exported type Interface should have comment or be unexported (golint)
    • Line 60: warning: exported function New should have comment or be unexported (golint)
    • weave/ipam/ring/ring.go
    • Line 21: warning: exported type OnUpdate should have comment or be unexported (golint)
    • Line 120: warning: exported method Ring.Restore should have comment or be unexported (golint)
    • Line 128: warning: exported method Ring.Range should have comment or be unexported (golint)
    • Line 411: warning: exported method Ring.OwnedRangesOfPeer should have comment or be unexported (golint)
    • Line 424: warning: comment on exported type RangeInfo should be of the form "RangeInfo ..." (with optional leading article) (golint)
    • Line 431: warning: exported method Ring.AllRangeInfo should have comment or be unexported (golint)
    • Line 472: warning: exported method Ring.FprintWithNicknames should have comment or be unexported (golint)
    • Line 590: warning: exported method Ring.PickPeerForTransfer should have comment or be unexported (golint)
    • Line 647: warning: comment on exported method Ring.PeerNames should be of the form "PeerNames ..." (golint)
    • weave/common/wait.go
    • Line 8: warning: exported type WaitGroup should have comment or be unexported (golint)
    • Line 13: warning: comment on exported method WaitGroup.Add should be of the form "Add ..." (golint)
    • Line 23: warning: exported method WaitGroup.IsDone should have comment or be unexported (golint)
    • weave/plugin/net/driver.go
    • Line 22: warning: exported const MulticastOption should have comment (or a comment on this block) or be unexported (golint)
    • Line 45: warning: exported function New should have comment or be unexported (golint)
    • weave/net/netns.go
    • Line 15: warning: exported var ErrLinkNotFound should have comment or be unexported (golint)
    • Line 17: warning: exported function WithNetNS should have comment or be unexported (golint)
    • Line 36: warning: exported function WithNetNSLink should have comment or be unexported (golint)
    • Line 49: warning: exported function WithNetNSByPath should have comment or be unexported (golint)
    • Line 57: warning: exported function NSPathByPid should have comment or be unexported (golint)
    • Line 61: warning: exported function NSPathByPidWithProc should have comment or be unexported (golint)
    • weave/common/docker/client.go
    • Line 15: warning: exported const InitialInterval should have comment (or a comment on this block) or be unexported (golint)
    • Line 19: warning: comment on exported type ContainerObserver should be of the form "ContainerObserver ..." (with optional leading article) (golint)
    • Line 26: warning: exported type Client should have comment or be unexported (golint)
    • Line 51: warning: exported function NewVersionedClient should have comment or be unexported (golint)
    • Line 64: warning: exported function NewVersionedClientFromEnv should have comment or be unexported (golint)
    • Line 79: warning: exported method Client.Info should have comment or be unexported (golint)
    • Line 87: warning: exported method Client.DockerVersion should have comment or be unexported (golint)
    • Line 207: warning: comment on exported method Client.GetContainerIP should be of the form "GetContainerIP ..." (golint)
    • Line 230: warning: exported method Client.EnsureNetwork should have comment or be unexported (golint)
    • weave/api/weaveapi.go
    • Line 15: warning: exported const WeaveHTTPHost should have comment (or a comment on this block) or be unexported (golint)
    • Line 19: warning: exported type Client should have comment or be unexported (golint)
    • Line 53: warning: exported function NewClient should have comment or be unexported (golint)
    • Line 75: warning: exported method Client.Connect should have comment or be unexported (golint)
    • Line 96: warning: exported type Logger should have comment or be unexported (golint)
    • weave/npc/betatypes.go
    • Line 7: warning: exported type IngressIsolationPolicy should have comment or be unexported (golint)
    • Line 10: warning: comment on exported const DefaultDeny should be of the form "DefaultDeny ..." (golint)
    • Line 16: warning: comment on exported type NamespaceSpec should be of the form "NamespaceSpec ..." (with optional leading article) (golint)
    • Line 23: warning: exported type NamespaceNetworkPolicy should have comment or be unexported (golint)
    • Line 31: warning: comment on exported type NamespaceIngressPolicy should be of the form "NamespaceIngressPolicy ..." (with optional leading article) (golint)
    • weave/npc/controller.go
    • Line 21: warning: exported type NetworkPolicyController should have comment or be unexported (golint)
    • Line 49: warning: exported function New should have comment or be unexported (golint)
    • weave/nameserver/dns.go
    • Line 25: warning: exported const DefaultListenAddress should have comment (or a comment on this block) or be unexported (golint)
    • Line 30: warning: exported type Upstream should have comment or be unexported (golint)
    • Line 34: warning: exported function NewUpstream should have comment or be unexported (golint)
    • Line 89: warning: exported type DNSServer should have comment or be unexported (golint)
    • Line 101: warning: exported function NewDNSServer should have comment or be unexported (golint)
    • Line 146: warning: exported method DNSServer.ActivateAndServe should have comment or be unexported (golint)
    • Line 154: warning: exported method DNSServer.Stop should have comment or be unexported (golint)
    • weave/proxy/proxy.go
    • Line 44: warning: exported var ErrWeaveCIDRNone should have comment or be unexported (golint)
    • Line 52: warning: exported type Config should have comment or be unexported (golint)
    • Line 78: warning: exported type Proxy should have comment or be unexported (golint)
    • Line 128: warning: exported function StubProxy should have comment or be unexported (golint)
    • Line 150: warning: exported function NewProxy should have comment or be unexported (golint)
    • Line 177: warning: exported method Proxy.AttachExistingContainers should have comment or be unexported (golint)
    • Line 184: warning: exported method Proxy.Dial should have comment or be unexported (golint)
    • Line 248: warning: exported method Proxy.Listen should have comment or be unexported (golint)
    • Line 285: warning: exported method Proxy.Serve should have comment or be unexported (golint)
    • Line 304: warning: exported method Proxy.StatusHTTP should have comment or be unexported (golint)
    • Line 374: warning: comment on exported method Proxy.ContainerStarted should be of the form "ContainerStarted ..." (golint)
    • Line 466: warning: exported method Proxy.ContainerDied should have comment or be unexported (golint)
    • Line 467: warning: exported method Proxy.ContainerDestroyed should have comment or be unexported (golint)
    • Line 718: warning: exported method Proxy.Stop should have comment or be unexported (golint)
    • weave/prog/weaver/discovery.go
    • Line 17: warning: comment on exported type PeerUpdateRequest should be of the form "PeerUpdateRequest ..." (with optional leading article) (golint)
    • Line 24: warning: exported type PeerUpdateResponse should have comment or be unexported (golint)
    • Line 78: warning: exported function HandleHTTPPeer should have comment or be unexported (golint)
    • weave/router/injector_consumer.go
    • Line 7: warning: comment on exported type InjectorConsumer should be of the form "InjectorConsumer ..." (with optional leading article) (golint)
    • Line 21: warning: comment on exported type Consumer should be of the form "Consumer ..." (with optional leading article) (golint)
    • Line 24: warning: exported type NullInjectorConsumer should have comment or be unexported (golint)
    • Line 26: warning: exported method NullInjectorConsumer.InjectPacket should have comment or be unexported (golint)
    • Line 30: warning: exported method NullInjectorConsumer.StartConsumingPackets should have comment or be unexported (golint)
    • Line 34: warning: exported method NullInjectorConsumer.Interface should have comment or be unexported (golint)
    • Line 42: warning: exported method NullInjectorConsumer.Stats should have comment or be unexported (golint)
    • weave/router/network_router.go
    • Line 18: warning: exported const ChannelSize should have comment (or a comment on this block) or be unexported (golint)
    • Line 37: warning: exported type NetworkConfig should have comment or be unexported (golint)
    • Line 43: warning: exported type PacketLogging should have comment or be unexported (golint)
    • Line 48: warning: exported type NetworkRouter should have comment or be unexported (golint)
    • Line 56: warning: exported function NewNetworkRouter should have comment or be unexported (golint)
    • Line 231: warning: exported method NetworkRouter.InitiateConnections should have comment or be unexported (golint)
    • Line 237: warning: exported method NetworkRouter.ForgetConnections should have comment or be unexported (golint)
    • Line 242: warning: exported method NetworkRouter.InitialPeers should have comment or be unexported (golint)
    • Line 256: warning: exported method NetworkRouter.CreateRestartSentinel should have comment or be unexported (golint)
    • weave/router/awsvpc.go
    • Line 12: warning: exported type AWSVPCConnection should have comment or be unexported (golint)
    • Line 17: warning: exported method AWSVPCConnection.Confirm should have comment or be unexported (golint)
    • Line 22: warning: exported method AWSVPCConnection.EstablishedChannel should have comment or be unexported (golint)
    • Line 26: warning: exported method AWSVPCConnection.ErrorChannel should have comment or be unexported (golint)
    • Line 30: warning: exported method AWSVPCConnection.Stop should have comment or be unexported (golint)
    • Line 32: warning: exported method AWSVPCConnection.ControlMessage should have comment or be unexported (golint)
    • Line 35: warning: exported method AWSVPCConnection.Attrs should have comment or be unexported (golint)
    • Line 41: warning: exported method AWSVPCConnection.Forward should have comment or be unexported (golint)
    • Line 45: warning: exported type AWSVPC should have comment or be unexported (golint)
    • Line 47: warning: exported function NewAWSVPC should have comment or be unexported (golint)
    • Line 53: warning: exported method AWSVPC.AddFeaturesTo should have comment or be unexported (golint)
    • Line 55: warning: exported method AWSVPC.PrepareConnection should have comment or be unexported (golint)
    • Line 63: warning: exported method AWSVPC.Diagnostics should have comment or be unexported (golint)
    • Line 67: warning: exported method AWSVPC.Stop should have comment or be unexported (golint)
    • Line 71: warning: exported method AWSVPC.InvalidateRoutes should have comment or be unexported (golint)
    • Line 73: warning: exported method AWSVPC.InvalidateShortIDs should have comment or be unexported (golint)
    • Line 75: warning: exported method AWSVPC.StartConsumingPackets should have comment or be unexported (golint)
    • weave/ipam/paxos/participant.go
    • Line 3: warning: exported type Participant should have comment or be unexported (golint)
    • Line 13: warning: exported type Observer should have comment or be unexported (golint)
    • Line 16: warning: exported function NewObserver should have comment or be unexported (golint)
    • Line 20: warning: exported method Observer.GossipState should have comment or be unexported (golint)
    • Line 24: warning: exported method Observer.Update should have comment or be unexported (golint)
    • Line 28: warning: exported method Observer.Propose should have comment or be unexported (golint)
    • Line 31: warning: exported method Observer.SetQuorum should have comment or be unexported (golint)
    • Line 34: warning: exported method Observer.Think should have comment or be unexported (golint)
    • Line 38: warning: exported method Observer.Consensus should have comment or be unexported (golint)
    • Line 42: warning: exported method Observer.IsElector should have comment or be unexported (golint)
    • weave/api/dns.go
    • Line 8: warning: exported method Client.DNSDomain should have comment or be unexported (golint)
    • Line 12: warning: exported method Client.RegisterWithDNS should have comment or be unexported (golint)
    • Line 19: warning: exported method Client.DeregisterWithDNS should have comment or be unexported (golint)
    • weave/proxy/chunked.go
    • Line 1: warning: package comment should be of the form "Package proxy ..." (golint)
    • Line 14: warning: exported var ErrLineTooLong should have comment or be unexported (golint)
    • Line 18: warning: comment on exported function NewChunkedReader should be of the form "NewChunkedReader ..." (golint)
    • Line 28: warning: exported type ChunkedReader should have comment or be unexported (golint)
    • weave/router/sleeve.go
    • Line 49: warning: exported const EthernetOverhead should have comment (or a comment on this block) or be unexported (golint)
    • Line 63: warning: exported type SleeveOverlay should have comment or be unexported (golint)
    • Line 79: warning: exported function NewSleeveOverlay should have comment or be unexported (golint)
    • Line 83: warning: exported method SleeveOverlay.StartConsumingPackets should have comment or be unexported (golint)
    • Line 127: warning: exported method SleeveOverlay.InvalidateRoutes should have comment or be unexported (golint)
    • Line 131: warning: exported method SleeveOverlay.InvalidateShortIDs should have comment or be unexported (golint)
    • Line 135: warning: exported method SleeveOverlay.AddFeaturesTo should have comment or be unexported (golint)
    • Line 139: warning: exported method SleeveOverlay.Diagnostics should have comment or be unexported (golint)
    • Line 143: warning: exported method SleeveOverlay.Stop should have comment or be unexported (golint)
    • Line 381: warning: exported method SleeveOverlay.PrepareConnection should have comment or be unexported (golint)
    • Line 1162: warning: comment on exported function PosixError should be of the form "PosixError ..." (golint)
    • weave/net/bridge.go
    • Line 55: warning: exported const WeaveBridgeName should have comment (or a comment on this block) or be unexported (golint)
    • Line 63: warning: exported type Bridge should have comment or be unexported (golint)
    • Line 90: warning: exported function ExistingBridgeType should have comment or be unexported (golint)
    • Line 108: warning: exported function EnforceAddrAssignType should have comment or be unexported (golint)
    • Line 158: warning: exported function DetectHairpin should have comment or be unexported (golint)
    • Line 190: warning: exported var ErrBridgeNoIP should have comment or be unexported (golint)
    • Line 192: warning: exported function FindBridgeIP should have comment or be unexported (golint)
    • Line 211: warning: exported type BridgeConfig should have comment or be unexported (golint)
    • Line 237: warning: exported function EnsureBridge should have comment or be unexported (golint)
    • Line 587: warning: exported type NoMasqLocalTracker should have comment or be unexported (golint)
    • Line 592: warning: exported function NewNoMasqLocalTracker should have comment or be unexported (golint)
    • Line 603: warning: exported method NoMasqLocalTracker.HandleUpdate should have comment or be unexported (golint)
    • Line 634: warning: exported function Reexpose should have comment or be unexported (golint)
    • weave/net/route.go
    • Line 11: warning: comment on exported function CheckNetworkFree should be of the form "CheckNetworkFree ..." (golint)
    • Line 27: warning: comment on exported function CheckAddressOverlap should be of the form "CheckAddressOverlap ..." (golint)
    • Line 60: warning: exported function AddRoute should have comment or be unexported (golint)
    • weave/router/ethernet_decoder.go
    • Line 11: warning: exported type EthernetDecoder should have comment or be unexported (golint)
    • Line 18: warning: exported function NewEthernetDecoder should have comment or be unexported (golint)
    • Line 24: warning: exported method EthernetDecoder.DecodeLayers should have comment or be unexported (golint)
    • Line 32: warning: exported method EthernetDecoder.PacketKey should have comment or be unexported (golint)
    • Line 77: warning: exported method EthernetDecoder.IsSpecial should have comment or be unexported (golint)
    • Line 82: warning: exported method EthernetDecoder.DF should have comment or be unexported (golint)
    • weave/router/frame_crypto.go
    • Line 13: warning: exported type Encryptor should have comment or be unexported (golint)
    • Line 21: warning: exported type NonEncryptor should have comment or be unexported (golint)
    • Line 28: warning: exported type NaClEncryptor should have comment or be unexported (golint)
    • Line 38: warning: exported function NewNonEncryptor should have comment or be unexported (golint)
    • Line 48: warning: exported method NonEncryptor.PacketOverhead should have comment or be unexported (golint)
    • Line 52: warning: exported method NonEncryptor.FrameOverhead should have comment or be unexported (golint)
    • Line 56: warning: exported method NonEncryptor.Bytes should have comment or be unexported (golint)
    • Line 63: warning: exported method NonEncryptor.AppendFrame should have comment or be unexported (golint)
    • Line 76: warning: exported method NonEncryptor.TotalLen should have comment or be unexported (golint)
    • Line 80: warning: exported function NewNaClEncryptor should have comment or be unexported (golint)
    • Line 95: warning: exported method NaClEncryptor.Bytes should have comment or be unexported (golint)
    • Line 119: warning: exported method NaClEncryptor.PacketOverhead should have comment or be unexported (golint)
    • Line 123: warning: exported method NaClEncryptor.TotalLen should have comment or be unexported (golint)
    • Line 129: warning: exported type FrameConsumer should have comment or be unexported (golint)
    • Line 131: warning: exported type Decryptor should have comment or be unexported (golint)
    • Line 135: warning: exported type NonDecryptor should have comment or be unexported (golint)
    • Line 138: warning: exported type NaClDecryptor should have comment or be unexported (golint)
    • Line 145: warning: exported type NaClDecryptorInstance should have comment or be unexported (golint)
    • Line 152: warning: exported function NewNaClDecryptorInstance should have comment or be unexported (golint)
    • Line 160: warning: exported type PacketDecodingError should have comment or be unexported (golint)
    • Line 168: warning: exported function NewNonDecryptor should have comment or be unexported (golint)
    • Line 172: warning: exported method NonDecryptor.IterateFrames should have comment or be unexported (golint)
    • Line 193: warning: exported function NewNaClDecryptor should have comment or be unexported (golint)
    • Line 201: warning: exported method NaClDecryptor.IterateFrames should have comment or be unexported (golint)
    • Line 258: warning: exported const WindowSize should have comment (or a comment on this block) or be unexported (golint)
    • weave/ipam/space/space.go
    • Line 12: warning: exported type Space should have comment or be unexported (golint)
    • Line 24: warning: exported function New should have comment or be unexported (golint)
    • Line 28: warning: exported method Space.Add should have comment or be unexported (golint)
    • Line 71: warning: exported method Space.Allocate should have comment or be unexported (golint)
    • Line 81: warning: exported method Space.Claim should have comment or be unexported (golint)
    • Line 91: warning: exported method Space.NumOwnedAddresses should have comment or be unexported (golint)
    • Line 99: warning: exported method Space.NumFreeAddresses should have comment or be unexported (golint)
    • Line 107: warning: exported method Space.NumFreeAddressesInRange should have comment or be unexported (golint)
    • Line 116: warning: exported method Space.Free should have comment or be unexported (golint)
    • Line 144: warning: exported method Space.Donate should have comment or be unexported (golint)
    • Line 260: warning: comment on exported method Space.AddRanges should be of the form "AddRanges ..." (golint)
    • Line 267: warning: comment on exported method Space.UpdateRanges should be of the form "UpdateRanges ..." (golint)
    • weave/db/boltdb.go
    • Line 12: warning: exported type DB should have comment or be unexported (golint)
    • Line 17: warning: exported type BoltDB should have comment or be unexported (golint)
    • Line 28: warning: exported const NameIdent should have comment (or a comment on this block) or be unexported (golint)
    • Line 32: warning: exported function Pathname should have comment or be unexported (golint)
    • Line 36: warning: exported function NewBoltDB should have comment or be unexported (golint)
    • Line 46: warning: exported function NewBoltDBReadOnly should have comment or be unexported (golint)
    • Line 84: warning: exported method BoltDB.Load should have comment or be unexported (golint)
    • Line 101: warning: exported method BoltDB.Save should have comment or be unexported (golint)
    • Line 113: warning: exported method BoltDB.Close should have comment or be unexported (golint)
    • weave/plugin/status.go
    • Line 3: warning: exported type Status should have comment or be unexported (golint)
    • Line 9: warning: exported method Plugin.NewStatus should have comment or be unexported (golint)
    • weave/net/if.go
    • Line 11: warning: comment on exported function EnsureInterface should be of the form "EnsureInterface ..." (golint)
    • Line 41: warning: comment on exported function EnsureInterfaceAndMcastRoute should be of the form "EnsureInterfaceAndMcastRoute ..." (golint)
    • Line 86: warning: exported function LocalAddresses should have comment or be unexported (golint)
    • weave/net/mac.go
    • Line 9: warning: exported function RandomMAC should have comment or be unexported (golint)
    • Line 20: warning: exported function MACfromUUID should have comment or be unexported (golint)
    • weave/nameserver/status.go
    • Line 3: warning: exported type Status should have comment or be unexported (golint)
    • Line 11: warning: exported type EntryStatus should have comment or be unexported (golint)
    • Line 20: warning: exported function NewStatus should have comment or be unexported (golint)
    • weave/ipam/status.go
    • Line 9: warning: exported type Status should have comment or be unexported (golint)
    • Line 20: warning: exported type EntryStatus should have comment or be unexported (golint)
    • Line 29: warning: exported type ClaimStatus should have comment or be unexported (golint)
    • Line 34: warning: exported function NewStatus should have comment or be unexported (golint)
    • weave/router/pcap.go
    • Line 15: warning: exported type Pcap should have comment or be unexported (golint)
    • Line 34: warning: exported function NewPcap should have comment or be unexported (golint)
    • Line 43: warning: exported method Pcap.StartConsumingPackets should have comment or be unexported (golint)
    • Line 111: warning: exported method Pcap.Interface should have comment or be unexported (golint)
    • Line 119: warning: exported method Pcap.InjectPacket should have comment or be unexported (golint)
    • Line 123: warning: exported method Pcap.Process should have comment or be unexported (golint)
    • Line 158: warning: exported method Pcap.Stats should have comment or be unexported (golint)
    • weave/net/address/address.go
    • Line 10: warning: comment on exported type Address should be of the form "Address ..." (with optional leading article) (golint)
    • Line 12: warning: exported type Offset should have comment or be unexported (golint)
    • Line 13: warning: exported type Count should have comment or be unexported (golint)
    • Line 15: warning: exported type Range should have comment or be unexported (golint)
    • Line 19: warning: exported function NewRange should have comment or be unexported (golint)
    • Line 22: warning: exported method Range.Size should have comment or be unexported (golint)
    • Line 24: warning: exported method Range.Overlaps should have comment or be unexported (golint)
    • Line 25: warning: exported method Range.Contains should have comment or be unexported (golint)
    • Line 27: warning: exported method Range.AsCIDRString should have comment or be unexported (golint)
    • Line 50: warning: exported method Range.BiggestCIDRRange should have comment or be unexported (golint)
    • Line 67: warning: exported function MakeCIDR should have comment or be unexported (golint)
    • Line 71: warning: exported type CIDR should have comment or be unexported (golint)
    • Line 110: warning: exported function ParseIP should have comment or be unexported (golint)
    • Line 117: warning: exported function ParseCIDR should have comment or be unexported (golint)
    • Line 128: warning: exported function NewCIDRs should have comment or be unexported (golint)
    • Line 135: warning: exported method CIDR.Start should have comment or be unexported (golint)
    • Line 139: warning: comment on exported method CIDR.End should be of the form "End ..." (golint)
    • Line 144: warning: exported method CIDR.IsSubnet should have comment or be unexported (golint)
    • Line 149: warning: exported method CIDR.Size should have comment or be unexported (golint)
    • Line 151: warning: exported method CIDR.Range should have comment or be unexported (golint)
    • Line 154: warning: exported method CIDR.HostRange should have comment or be unexported (golint)
    • Line 163: warning: exported method CIDR.IPNet should have comment or be unexported (golint)
    • Line 187: warning: exported method Address.MarshalJSON should have comment or be unexported (golint)
    • Line 195: warning: exported function Add should have comment or be unexported (golint)
    • Line 199: warning: exported function Subtract should have comment or be unexported (golint)
    • Line 204: warning: exported function Length should have comment or be unexported (golint)
    • Line 209: warning: exported function Min should have comment or be unexported (golint)
    • Line 216: warning: exported method Address.Reverse should have comment or be unexported (golint)
    • weave/plugin/ipam/cni.go
    • Line 13: warning: exported method Ipam.CmdAdd should have comment or be unexported (golint)
    • Line 25: warning: exported method Ipam.Allocate should have comment or be unexported (golint)
    • Line 65: warning: exported method Ipam.CmdDel should have comment or be unexported (golint)
    • Line 69: warning: exported method Ipam.Release should have comment or be unexported (golint)
    • weave/plugin/net/cni.go
    • Line 27: warning: exported type CNIPlugin should have comment or be unexported (golint)
    • Line 31: warning: exported function NewCNIPlugin should have comment or be unexported (golint)
    • Line 68: warning: exported method CNIPlugin.CmdAdd should have comment or be unexported (golint)
    • Line 179: warning: comment on exported method CNIPlugin.CmdDel should be of the form "CmdDel ..." (golint)
    • Line 227: warning: exported type NetConf should have comment or be unexported (golint)
    • weave/plugin/ipam/driver.go
    • Line 14: warning: exported type Ipam should have comment or be unexported (golint)
    • Line 18: warning: exported function NewIpam should have comment or be unexported (golint)
    • Line 22: warning: exported method Ipam.GetCapabilities should have comment or be unexported (golint)
    • Line 27: warning: exported method Ipam.GetDefaultAddressSpaces should have comment or be unexported (golint)
    • Line 32: warning: exported method Ipam.RequestPool should have comment or be unexported (golint)
    • Line 57: warning: exported method Ipam.ReleasePool should have comment or be unexported (golint)
    • Line 77: warning: exported method Ipam.RequestAddress should have comment or be unexported (golint)
    • Line 103: warning: exported method Ipam.ReleaseAddress should have comment or be unexported (golint)
    • Line 113: warning: exported method Ipam.IsBuiltIn should have comment or be unexported (golint)
    • Line 119: warning: exported method Ipam.DiscoverNew should have comment or be unexported (golint)
    • Line 123: warning: exported method Ipam.DiscoverDelete should have comment or be unexported (golint)
    • weave/nameserver/entry.go
    • Line 18: warning: exported type Entry should have comment or be unexported (golint)
    • Line 28: warning: exported type Entries should have comment or be unexported (golint)
    • Line 29: warning: exported type CaseSensitive should have comment or be unexported (golint)
    • Line 30: warning: exported type CaseInsensitive should have comment or be unexported (golint)
    • Line 31: warning: exported type SortableEntries should have comment or be unexported (golint)
    • Line 39: warning: exported method CaseSensitive.Get should have comment or be unexported (golint)
    • Line 45: warning: exported method CaseInsensitive.Get should have comment or be unexported (golint)
    • Line 265: warning: exported type GossipData should have comment or be unexported (golint)
    • Line 270: warning: exported method GossipData.Merge should have comment or be unexported (golint)
    • Line 280: warning: exported method GossipData.Decode should have comment or be unexported (golint)
    • Line 290: warning: exported method GossipData.Encode should have comment or be unexported (golint)
    • weave/nameserver/http.go
    • Line 21: warning: exported method Nameserver.HandleHTTP should have comment or be unexported (golint)
    • Line 89: warning: exported method DNSServer.HandleHTTP should have comment or be unexported (golint)
    • weave/router/network_overlay.go
    • Line 7: warning: comment on exported type NetworkOverlay should be of the form "NetworkOverlay ..." (with optional leading article) (golint)
    • Line 22: warning: comment on exported type OverlayConsumer should be of the form "OverlayConsumer ..." (with optional leading article) (golint)
    • Line 26: warning: comment on exported type OverlayForwarder should be of the form "OverlayForwarder ..." (with optional leading article) (golint)
    • Line 38: warning: exported type NullNetworkOverlay should have comment or be unexported (golint)
    • Line 40: warning: exported method NullNetworkOverlay.InvalidateRoutes should have comment or be unexported (golint)
    • Line 43: warning: exported method NullNetworkOverlay.InvalidateShortIDs should have comment or be unexported (golint)
    • Line 46: warning: exported method NullNetworkOverlay.StartConsumingPackets should have comment or be unexported (golint)
    • Line 50: warning: exported method NullNetworkOverlay.Forward should have comment or be unexported (golint)
    • weave/plugin/net/watcher.go
    • Line 17: warning: exported type Watcher should have comment or be unexported (golint)
    • Line 20: warning: exported function NewWatcher should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


misspell98%

Misspell Finds commonly misspelled English words