The project has been moved so internally we simply rename everything.
Consumers are recommended to update their vendored version of cni.
# Email and Chat
-The project uses the the cni-dev email list and #appc on Freenode for chat:
+The project uses the the cni-dev email list and IRC chat:
- Email: [cni-dev](https://groups.google.com/forum/#!forum/cni-dev)
-- IRC: #[appc](irc://irc.freenode.org:6667/#appc) IRC channel on freenode.org
+- IRC: #[containernetworking](irc://irc.freenode.org:6667/#containernetworking) channel on freenode.org
Please avoid emailing maintainers found in the MAINTAINERS file directly. They
are very busy and read the mailing lists.
## Overview
With dhcp plugin the containers can get an IP allocated by a DHCP server already running on your network.
-This can be especially useful with plugin types such as [macvlan](https://github.com/appc/cni/blob/master/Documentation/macvlan.md).
+This can be especially useful with plugin types such as [macvlan](https://github.com/containernetworking/cni/blob/master/Documentation/macvlan.md).
Because a DHCP lease must be periodically renewed for the duration of container lifetime, a separate daemon is required to be running.
The same plugin binary can also be run in the daemon mode.
* `routes` (string, optional): list of routes to add to the container namespace. Each route is a dictionary with "dst" and optional "gw" fields. If "gw" is omitted, value of "gateway" will be used.
## Supported arguments
-The following [CNI_ARGS](https://github.com/appc/cni/blob/master/SPEC.md#parameters) are supported:
+The following [CNI_ARGS](https://github.com/containernetworking/cni/blob/master/SPEC.md#parameters) are supported:
* `ip`: request a specific IP address from the subnet. If it's not available, the plugin will exit with an error
{
- "ImportPath": "github.com/appc/cni",
+ "ImportPath": "github.com/containernetworking/cni",
"GoVersion": "go1.6",
"Packages": [
"./..."
-[](https://travis-ci.org/appc/cni)
-[](https://coveralls.io/github/appc/cni?branch=master)
+[](https://travis-ci.org/containernetworking/cni)
+[](https://coveralls.io/github/containernetworking/cni?branch=master)
# CNI - the Container Network Interface
## Contributing to CNI
-We welcome contributions, including [bug reports](https://github.com/appc/cni/issues), and code and documentation improvements.
+We welcome contributions, including [bug reports](https://github.com/containernetworking/cni/issues), and code and documentation improvements.
If you intend to contribute to code or documentation, please read [CONTRIBUTING.md](CONTRIBUTING.md). Also see the [contact section](#contact) in this README.
## How do I use CNI?
## Contact
-For any questions about CNI, please reach out on the mailing list or IRC:
+For any questions about CNI, please reach out on the mailing list:
- Email: [cni-dev](https://groups.google.com/forum/#!forum/cni-dev)
-- IRC: #[appc](irc://irc.freenode.org:6667/#appc) IRC channel on freenode.org
+- IRC: #[containernetworking](irc://irc.freenode.org:6667/#containernetworking) channel on freenode.org
#!/usr/bin/env bash
set -e
-ORG_PATH="github.com/appc"
+ORG_PATH="github.com/containernetworking"
REPO_PATH="${ORG_PATH}/cni"
if [ ! -h gopath/src/${REPO_PATH} ]; then
"path/filepath"
"strings"
- "github.com/appc/cni/libcni"
+ "github.com/containernetworking/cni/libcni"
)
const (
import (
"strings"
- "github.com/appc/cni/pkg/invoke"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/invoke"
+ "github.com/containernetworking/cni/pkg/types"
)
type RuntimeConf struct {
"os"
"strings"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
)
func DelegateAdd(delegatePlugin string, netconf []byte) (*types.Result, error) {
"os"
"os/exec"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
)
func pluginErr(err error, output []byte) error {
"io/ioutil"
"path/filepath"
- "github.com/appc/cni/pkg/invoke"
+ "github.com/containernetworking/cni/pkg/invoke"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
"net"
"os"
- "github.com/appc/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/ns"
"github.com/vishvananda/netlink"
)
"fmt"
"os"
- "github.com/appc/cni/pkg/invoke"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/invoke"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/vishvananda/netlink"
)
"os/exec"
"path/filepath"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/testhelpers"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/testhelpers"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
"log"
"os"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
)
// CmdArgs captures all the arguments passed in to the plugin
"golang.org/x/sys/unix"
- "github.com/appc/cni/pkg/testhelpers"
+ "github.com/containernetworking/cni/pkg/testhelpers"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
import (
"reflect"
- . "github.com/appc/cni/pkg/types"
+ . "github.com/containernetworking/cni/pkg/types"
. "github.com/onsi/ginkgo"
. "github.com/onsi/ginkgo/extensions/table"
"runtime"
"sync"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/coreos/go-systemd/activation"
)
"github.com/d2g/dhcp4client"
"github.com/vishvananda/netlink"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/types"
)
// RFC 2131 suggests using exponential backoff, starting with 4sec
"os"
"path/filepath"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
)
const socketPath = "/run/cni/dhcp.sock"
"net"
"time"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/d2g/dhcp4"
)
"net"
"testing"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/d2g/dhcp4"
)
"fmt"
"net"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/types"
- "github.com/appc/cni/plugins/ipam/host-local/backend"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/types"
+ "github.com/containernetworking/cni/plugins/ipam/host-local/backend"
)
type IPAllocator struct {
"fmt"
"net"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/types"
)
// IPAMConfig represents the IP related network configuration.
package main
import (
- "github.com/appc/cni/plugins/ipam/host-local/backend/disk"
+ "github.com/containernetworking/cni/plugins/ipam/host-local/backend/disk"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
)
func main() {
"runtime"
"syscall"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/ipam"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
- "github.com/appc/cni/pkg/utils"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/ipam"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/utils"
"github.com/vishvananda/netlink"
)
"os"
"runtime"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/ipam"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/ipam"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/vishvananda/netlink"
)
import (
"os"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
"github.com/vishvananda/netlink"
)
var _ = BeforeSuite(func() {
var err error
- pathToLoPlugin, err = gexec.Build("github.com/appc/cni/plugins/main/loopback")
+ pathToLoPlugin, err = gexec.Build("github.com/containernetworking/cni/plugins/main/loopback")
Expect(err).NotTo(HaveOccurred())
})
"os/exec"
"strings"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/testhelpers"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/testhelpers"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
"os"
"runtime"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/ipam"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
- "github.com/appc/cni/pkg/utils/sysctl"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/ipam"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/utils/sysctl"
"github.com/vishvananda/netlink"
)
"github.com/vishvananda/netlink"
- "github.com/appc/cni/pkg/ip"
- "github.com/appc/cni/pkg/ipam"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
- "github.com/appc/cni/pkg/utils"
+ "github.com/containernetworking/cni/pkg/ip"
+ "github.com/containernetworking/cni/pkg/ipam"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/utils"
)
func init() {
"strconv"
"strings"
- "github.com/appc/cni/pkg/invoke"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/invoke"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
)
const (
"path/filepath"
"strings"
- "github.com/appc/cni/pkg/ns"
- "github.com/appc/cni/pkg/skel"
- "github.com/appc/cni/pkg/types"
+ "github.com/containernetworking/cni/pkg/ns"
+ "github.com/containernetworking/cni/pkg/skel"
+ "github.com/containernetworking/cni/pkg/types"
)
// TuningConf represents the network tuning configuration.