bump up libcni to v0.7.1
Signed-off-by: Bruce Ma <brucema19901024@gmail.com>
This commit is contained in:
parent
485be65581
commit
b76ace9c64
2
go.mod
2
go.mod
@ -7,7 +7,7 @@ require (
|
|||||||
github.com/Microsoft/hcsshim v0.8.6
|
github.com/Microsoft/hcsshim v0.8.6
|
||||||
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae
|
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae
|
||||||
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
||||||
github.com/containernetworking/cni v0.7.0
|
github.com/containernetworking/cni v0.7.1
|
||||||
github.com/coreos/go-iptables v0.4.2
|
github.com/coreos/go-iptables v0.4.2
|
||||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
|
||||||
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c
|
github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c
|
||||||
|
4
go.sum
4
go.sum
@ -6,8 +6,8 @@ github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae h1:AMzIhMUq
|
|||||||
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0=
|
github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0=
|
||||||
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44 h1:y853v6rXx+zefEcjET3JuKAqvhj+FKflQijjeaSv2iA=
|
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44 h1:y853v6rXx+zefEcjET3JuKAqvhj+FKflQijjeaSv2iA=
|
||||||
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
|
github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
|
||||||
github.com/containernetworking/cni v0.7.0 h1:1Qy7EwdC08mx5wUB0DpjCuBrk6e/uXg9yI9TvAvgox8=
|
github.com/containernetworking/cni v0.7.1 h1:fE3r16wpSEyaqY4Z4oFrLMmIGfBYIKpPrHK31EJ9FzE=
|
||||||
github.com/containernetworking/cni v0.7.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
|
github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
|
||||||
github.com/coreos/go-iptables v0.4.2 h1:KH0EwId05JwWIfb96gWvkiT2cbuOu8ygqUaB+yPAwIg=
|
github.com/coreos/go-iptables v0.4.2 h1:KH0EwId05JwWIfb96gWvkiT2cbuOu8ygqUaB+yPAwIg=
|
||||||
github.com/coreos/go-iptables v0.4.2/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
github.com/coreos/go-iptables v0.4.2/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
||||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM=
|
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM=
|
||||||
|
1
vendor/github.com/containernetworking/cni/libcni/api.go
generated
vendored
1
vendor/github.com/containernetworking/cni/libcni/api.go
generated
vendored
@ -69,6 +69,7 @@ type CNI interface {
|
|||||||
AddNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
|
AddNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
|
||||||
CheckNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
|
CheckNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
|
||||||
DelNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
|
DelNetworkList(ctx context.Context, net *NetworkConfigList, rt *RuntimeConf) error
|
||||||
|
GetNetworkListCachedResult(net *NetworkConfigList, rt *RuntimeConf) (types.Result, error)
|
||||||
|
|
||||||
AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
|
AddNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) (types.Result, error)
|
||||||
CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
|
CheckNetwork(ctx context.Context, net *NetworkConfig, rt *RuntimeConf) error
|
||||||
|
68
vendor/github.com/containernetworking/cni/pkg/invoke/args.go
generated
vendored
68
vendor/github.com/containernetworking/cni/pkg/invoke/args.go
generated
vendored
@ -15,6 +15,7 @@
|
|||||||
package invoke
|
package invoke
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@ -22,6 +23,8 @@ import (
|
|||||||
type CNIArgs interface {
|
type CNIArgs interface {
|
||||||
// For use with os/exec; i.e., return nil to inherit the
|
// For use with os/exec; i.e., return nil to inherit the
|
||||||
// environment from this process
|
// environment from this process
|
||||||
|
// For use in delegation; inherit the environment from this
|
||||||
|
// process and allow overrides
|
||||||
AsEnv() []string
|
AsEnv() []string
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,17 +60,17 @@ func (args *Args) AsEnv() []string {
|
|||||||
pluginArgsStr = stringify(args.PluginArgs)
|
pluginArgsStr = stringify(args.PluginArgs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that the custom values are first, so any value present in
|
// Duplicated values which come first will be overrided, so we must put the
|
||||||
// the process environment won't override them.
|
// custom values in the end to avoid being overrided by the process environments.
|
||||||
env = append([]string{
|
env = append(env,
|
||||||
"CNI_COMMAND=" + args.Command,
|
"CNI_COMMAND="+args.Command,
|
||||||
"CNI_CONTAINERID=" + args.ContainerID,
|
"CNI_CONTAINERID="+args.ContainerID,
|
||||||
"CNI_NETNS=" + args.NetNS,
|
"CNI_NETNS="+args.NetNS,
|
||||||
"CNI_ARGS=" + pluginArgsStr,
|
"CNI_ARGS="+pluginArgsStr,
|
||||||
"CNI_IFNAME=" + args.IfName,
|
"CNI_IFNAME="+args.IfName,
|
||||||
"CNI_PATH=" + args.Path,
|
"CNI_PATH="+args.Path,
|
||||||
}, env...)
|
)
|
||||||
return env
|
return dedupEnv(env)
|
||||||
}
|
}
|
||||||
|
|
||||||
// taken from rkt/networking/net_plugin.go
|
// taken from rkt/networking/net_plugin.go
|
||||||
@ -80,3 +83,46 @@ func stringify(pluginArgs [][2]string) string {
|
|||||||
|
|
||||||
return strings.Join(entries, ";")
|
return strings.Join(entries, ";")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DelegateArgs implements the CNIArgs interface
|
||||||
|
// used for delegation to inherit from environments
|
||||||
|
// and allow some overrides like CNI_COMMAND
|
||||||
|
var _ CNIArgs = &DelegateArgs{}
|
||||||
|
|
||||||
|
type DelegateArgs struct {
|
||||||
|
Command string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DelegateArgs) AsEnv() []string {
|
||||||
|
env := os.Environ()
|
||||||
|
|
||||||
|
// The custom values should come in the end to override the existing
|
||||||
|
// process environment of the same key.
|
||||||
|
env = append(env,
|
||||||
|
"CNI_COMMAND="+d.Command,
|
||||||
|
)
|
||||||
|
return dedupEnv(env)
|
||||||
|
}
|
||||||
|
|
||||||
|
// dedupEnv returns a copy of env with any duplicates removed, in favor of later values.
|
||||||
|
// Items not of the normal environment "key=value" form are preserved unchanged.
|
||||||
|
func dedupEnv(env []string) []string {
|
||||||
|
out := make([]string, 0, len(env))
|
||||||
|
envMap := map[string]string{}
|
||||||
|
|
||||||
|
for _, kv := range env {
|
||||||
|
// find the first "=" in environment, if not, just keep it
|
||||||
|
eq := strings.Index(kv, "=")
|
||||||
|
if eq < 0 {
|
||||||
|
out = append(out, kv)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
envMap[kv[:eq]] = kv[eq+1:]
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v := range envMap {
|
||||||
|
out = append(out, fmt.Sprintf("%s=%s", k, v))
|
||||||
|
}
|
||||||
|
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
29
vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go
generated
vendored
29
vendor/github.com/containernetworking/cni/pkg/invoke/delegate.go
generated
vendored
@ -16,22 +16,17 @@ package invoke
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/containernetworking/cni/pkg/types"
|
"github.com/containernetworking/cni/pkg/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
func delegateCommon(expectedCommand, delegatePlugin string, exec Exec) (string, Exec, error) {
|
func delegateCommon(delegatePlugin string, exec Exec) (string, Exec, error) {
|
||||||
if exec == nil {
|
if exec == nil {
|
||||||
exec = defaultExec
|
exec = defaultExec
|
||||||
}
|
}
|
||||||
|
|
||||||
if os.Getenv("CNI_COMMAND") != expectedCommand {
|
|
||||||
return "", nil, fmt.Errorf("CNI_COMMAND is not " + expectedCommand)
|
|
||||||
}
|
|
||||||
|
|
||||||
paths := filepath.SplitList(os.Getenv("CNI_PATH"))
|
paths := filepath.SplitList(os.Getenv("CNI_PATH"))
|
||||||
pluginPath, err := exec.FindInPath(delegatePlugin, paths)
|
pluginPath, err := exec.FindInPath(delegatePlugin, paths)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -44,32 +39,42 @@ func delegateCommon(expectedCommand, delegatePlugin string, exec Exec) (string,
|
|||||||
// DelegateAdd calls the given delegate plugin with the CNI ADD action and
|
// DelegateAdd calls the given delegate plugin with the CNI ADD action and
|
||||||
// JSON configuration
|
// JSON configuration
|
||||||
func DelegateAdd(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) (types.Result, error) {
|
func DelegateAdd(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) (types.Result, error) {
|
||||||
pluginPath, realExec, err := delegateCommon("ADD", delegatePlugin, exec)
|
pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return ExecPluginWithResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
|
// DelegateAdd will override the original "CNI_COMMAND" env from process with ADD
|
||||||
|
return ExecPluginWithResult(ctx, pluginPath, netconf, delegateArgs("ADD"), realExec)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DelegateCheck calls the given delegate plugin with the CNI CHECK action and
|
// DelegateCheck calls the given delegate plugin with the CNI CHECK action and
|
||||||
// JSON configuration
|
// JSON configuration
|
||||||
func DelegateCheck(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
|
func DelegateCheck(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
|
||||||
pluginPath, realExec, err := delegateCommon("CHECK", delegatePlugin, exec)
|
pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return ExecPluginWithoutResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
|
// DelegateCheck will override the original CNI_COMMAND env from process with CHECK
|
||||||
|
return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("CHECK"), realExec)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DelegateDel calls the given delegate plugin with the CNI DEL action and
|
// DelegateDel calls the given delegate plugin with the CNI DEL action and
|
||||||
// JSON configuration
|
// JSON configuration
|
||||||
func DelegateDel(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
|
func DelegateDel(ctx context.Context, delegatePlugin string, netconf []byte, exec Exec) error {
|
||||||
pluginPath, realExec, err := delegateCommon("DEL", delegatePlugin, exec)
|
pluginPath, realExec, err := delegateCommon(delegatePlugin, exec)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return ExecPluginWithoutResult(ctx, pluginPath, netconf, ArgsFromEnv(), realExec)
|
// DelegateDel will override the original CNI_COMMAND env from process with DEL
|
||||||
|
return ExecPluginWithoutResult(ctx, pluginPath, netconf, delegateArgs("DEL"), realExec)
|
||||||
|
}
|
||||||
|
|
||||||
|
// return CNIArgs used by delegation
|
||||||
|
func delegateArgs(action string) *DelegateArgs {
|
||||||
|
return &DelegateArgs{
|
||||||
|
Command: action,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
13
vendor/github.com/coreos/go-iptables/iptables/iptables.go
generated
vendored
13
vendor/github.com/coreos/go-iptables/iptables/iptables.go
generated
vendored
@ -348,6 +348,18 @@ func (ipt *IPTables) executeList(args []string) ([]string, error) {
|
|||||||
rules = rules[:len(rules)-1]
|
rules = rules[:len(rules)-1]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nftables mode doesn't return an error code when listing a non-existent
|
||||||
|
// chain. Patch that up.
|
||||||
|
if len(rules) == 0 && ipt.mode == "nf_tables" {
|
||||||
|
v := 1
|
||||||
|
return nil, &Error{
|
||||||
|
cmd: exec.Cmd{Args: args},
|
||||||
|
msg: fmt.Sprintf("%s: No chain/target/match by that name.\n", getIptablesCommand(ipt.proto)),
|
||||||
|
proto: ipt.proto,
|
||||||
|
exitStatus: &v,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for i, rule := range rules {
|
for i, rule := range rules {
|
||||||
rules[i] = filterRuleOutput(rule)
|
rules[i] = filterRuleOutput(rule)
|
||||||
}
|
}
|
||||||
@ -425,7 +437,6 @@ func (ipt *IPTables) runWithOutput(args []string, stdout io.Writer) error {
|
|||||||
}
|
}
|
||||||
ul, err := fmu.tryLock()
|
ul, err := fmu.tryLock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
syscall.Close(fmu.fd)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer ul.Unlock()
|
defer ul.Unlock()
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -24,7 +24,7 @@ github.com/Microsoft/hcsshim/internal/safefile
|
|||||||
github.com/alexflint/go-filemutex
|
github.com/alexflint/go-filemutex
|
||||||
# github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
# github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44
|
||||||
github.com/buger/jsonparser
|
github.com/buger/jsonparser
|
||||||
# github.com/containernetworking/cni v0.7.0
|
# github.com/containernetworking/cni v0.7.1
|
||||||
github.com/containernetworking/cni/pkg/types
|
github.com/containernetworking/cni/pkg/types
|
||||||
github.com/containernetworking/cni/pkg/types/current
|
github.com/containernetworking/cni/pkg/types/current
|
||||||
github.com/containernetworking/cni/pkg/invoke
|
github.com/containernetworking/cni/pkg/invoke
|
||||||
|
Loading…
x
Reference in New Issue
Block a user