Proto commits in submariner-io/submariner

These 11 commits are when the Protocol Buffers files have changed:

Commit:fce5424
Author:Stephen Kitt
Committer:Thomas Pantelis

Rework integer type selection Following the recent gosec-related int work (to annotate known-safe conversions), this furthers that by: * using ints instead of uints for healthcheck configuration and tracking * using uint32 instead of int for IP pool sizes, since their use is tied to uint32 representations of IP addresses * using fmt.Sprintf instead of manual string concatenation to construct the connectivity verification command * using int32 for nat discovery IPPortPair Signed-off-by: Stephen Kitt <skitt@redhat.com>

The documentation is generated from this commit.

Commit:d6849c1
Author:Stephen Kitt
Committer:Thomas Pantelis

Drop the leading spaces before the ASL URL This causes conflicts with gci in some cases. Signed-off-by: Stephen Kitt <skitt@redhat.com>

Commit:34908e1
Author:Stephen Kitt
Committer:Thomas Pantelis

Drop the leading spaces before the ASL URL This causes conflicts with gci in some cases. Signed-off-by: Stephen Kitt <skitt@redhat.com>

Commit:87a9b89
Author:Stephen Kitt
Committer:Thomas Pantelis

Update the copyright statements to match CNCF recs This updates the copyright statements to match the CNCF recommendation, as per https://github.com/cncf/foundation/blob/master/copyright-notices.md We also add SPDX headers, and add enforcement (ignoring generated files which don't carry our copyright). The change in copyright statement is only made to Red Hat statements. Change automated with (split over multiple lines for the commit message): find . -name \*.go -exec sed -i -E \ 's/© .... Red Hat, Inc. and others.?/ SPDX-License-Identifier: Apache-2.0\n\n Copyright Contributors to the Submariner project./' {} + Fixes: #1322 Signed-off-by: Stephen Kitt <skitt@redhat.com>

Commit:d7dcdae
Author:Janki Chhatbar
Committer:GitHub

Add staticcheck initialisms (#1268) * Add staticcheck initialisations The defaults come from https://staticcheck.io/docs/#configuration * Add below initialisations in addition to the defaults CNI IPAM IPSec NAT NATT Signed-off-by: Janki Chhatbar <jchhatba@redhat.com>

Commit:14e309f
Author:Miguel Angel Ajo
Committer:Thomas Pantelis

Handle DST NAT detection in pkg/natdiscovery This patch implements destination NATT detection, which was previously ignored. Leading on un-balanced NATT discovery from the sides when one side has NAT and the other does not. Extra details about the discovery are implemented in the protocol dst_ip/src_ip/src_port flags which will help debugging connections and could be helpful to cable drivers in the future as well. Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>

Commit:dc26850
Author:Miguel Angel Ajo
Committer:Thomas Pantelis

Optimize NAT discovery protocol time This improves the discovery, and avoids the chances of running into discovery timeout. When a new gateway is started it will beging pinging via UDP to all the other endpoints, but it will not be yet known by the other endpoints until they completely update via broker (which can be 10-20secs sometimes), and they will keep responding with unknown SRC endpoint. That's unecessary for the protocol, really adds no value, only slows down, hence this commit removes it. Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>

Commit:e7a0d74
Author:Miguel Angel Ajo
Committer:Miguel Angel Ajo Pelayo

NAT discovery protocol implementation Implements the protocol, and the tests for the protocol, integration of the protocol in the cable engine will follow in next commits. Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>

Commit:97a7555
Author:Miguel Angel Ajo
Committer:Miguel Angel Ajo Pelayo

Define a NAT-discovery protocol for selecting endpoint IP The makefile will dynamically regenerate pkg/natdiscovery/proto/natdiscovery.pb.go if the .proto file changes. Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>

Commit:e69c971
Author:Miguel Angel Ajo
Committer:Miguel Angel Ajo

Update to go mod and go 1.12.6, unvendor This commit moves compilation into go mod, removing the vendored sources. Go will automatically download and install modules although you'll need to setup GO111MODULE=on in your env Apparently go-mod expects semver (vX.Y.Z) naming for tags/branches, but kubernetes-1.13.2 is not in that format so for k8s.io/xxx packages it gets replaced to v0.0.0-commit id every time we run go mod, see: https://github.com/golang/go/issues/27271 Go automatically detects ginkgo/gomega usage, and adds it to the go.mod file, resulting in vendoring those pkgs, which may be ok if we want to provide a built version of the e2e binary as kubefed will be doing soon.

This commit does not contain any .proto files.

Commit:4153f76
Author:Chris Kim

Initial commit of Submariner to rancher/submariner