summaryrefslogtreecommitdiffstats
path: root/src/cni/ovsdpdk/ovsdpdk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/cni/ovsdpdk/ovsdpdk.patch')
-rw-r--r--src/cni/ovsdpdk/ovsdpdk.patch136
1 files changed, 0 insertions, 136 deletions
diff --git a/src/cni/ovsdpdk/ovsdpdk.patch b/src/cni/ovsdpdk/ovsdpdk.patch
deleted file mode 100644
index 67b3703..0000000
--- a/src/cni/ovsdpdk/ovsdpdk.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-diff --git a/build.sh b/build.sh
-index cd21ba8..bc60d91 100755
---- a/build.sh
-+++ b/build.sh
-@@ -19,7 +19,7 @@ export GOPATH=${PWD}/gopath
- mkdir -p "${PWD}/bin"
-
- echo "Building plugins"
--PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample"
-+PLUGINS="plugins/main/ovsdpdk plugins/main/bridge plugins/ipam/host-local"
- for d in $PLUGINS; do
- if [ -d "$d" ]; then
- plugin="$(basename "$d")"
-diff --git a/plugins/main/ovsdpdk/ovsdpdk.go b/plugins/main/ovsdpdk/ovsdpdk.go
-new file mode 100644
-index 0000000..1b931d4
---- /dev/null
-+++ b/plugins/main/ovsdpdk/ovsdpdk.go
-@@ -0,0 +1,117 @@
-+// Copyright 2014 CNI authors
-+//
-+// Licensed under the Apache License, Version 2.0 (the "License");
-+// you may not use this file except in compliance with the License.
-+// You may obtain a copy of the License at
-+//
-+// http://www.apache.org/licenses/LICENSE-2.0
-+//
-+// Unless required by applicable law or agreed to in writing, software
-+// distributed under the License is distributed on an "AS IS" BASIS,
-+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+// See the License for the specific language governing permissions and
-+// limitations under the License.
-+
-+package main
-+
-+import (
-+ "encoding/json"
-+ "errors"
-+ "fmt"
-+ //"net"
-+ "runtime"
-+ //"syscall"
-+ "os/exec"
-+ //"io/ioutil"
-+
-+ "github.com/containernetworking/cni/pkg/skel"
-+ "github.com/containernetworking/cni/pkg/types"
-+ "github.com/containernetworking/cni/pkg/types/current"
-+ "github.com/containernetworking/cni/pkg/version"
-+ //"github.com/containernetworking/plugins/pkg/ip"
-+ "github.com/containernetworking/plugins/pkg/ipam"
-+ //"github.com/containernetworking/plugins/pkg/ns"
-+ //"github.com/containernetworking/plugins/pkg/utils"
-+ //"github.com/vishvananda/netlink"
-+)
-+
-+const defaultBrName = "cni0"
-+
-+type NetConf struct {
-+ types.NetConf
-+ BrName string `json:"bridge"`
-+}
-+
-+func init() {
-+ // this ensures that main runs only on main thread (thread group leader).
-+ // since namespace ops (unshare, setns) are done for a single thread, we
-+ // must ensure that the goroutine does not jump from OS thread to thread
-+ runtime.LockOSThread()
-+}
-+
-+func loadNetConf(bytes []byte) (*NetConf, string, error) {
-+ n := &NetConf{
-+ BrName: defaultBrName,
-+ }
-+ if err := json.Unmarshal(bytes, n); err != nil {
-+ return nil, "", fmt.Errorf("failed to load netconf: %v", err)
-+ }
-+ return n, n.CNIVersion, nil
-+}
-+
-+func setupVhostUser(args *skel.CmdArgs, types string) error {
-+ exec.Command("/bin/bash", "/opt/cni/bin/setup_ovsdpdk.sh", args.Netns, args.ContainerID, types).Output()
-+ return nil
-+}
-+
-+
-+func cmdAdd(args *skel.CmdArgs) error {
-+ n, cniVersion, err := loadNetConf(args.StdinData)
-+ if err != nil {
-+ return err
-+ }
-+
-+ // run the IPAM plugin and get back the config to apply
-+ r, err := ipam.ExecAdd(n.IPAM.Type, args.StdinData)
-+ if err != nil {
-+ return err
-+ }
-+
-+ // Convert whatever the IPAM result was into the current Result type
-+ result, err := current.NewResultFromResult(r)
-+ if err != nil {
-+ return err
-+ }
-+
-+ if len(result.IPs) == 0 {
-+ return errors.New("IPAM plugin returned missing IP config")
-+ }
-+
-+ setupVhostUser(args, result.String())
-+
-+ return types.PrintResult(result, cniVersion)
-+}
-+
-+func tearDownVhostUser(args *skel.CmdArgs) error {
-+ exec.Command("/bin/bash", "/opt/cni/bin/teardown_ovsdpdk.sh", args.Netns, args.ContainerID).Output()
-+ return nil
-+}
-+
-+func cmdDel(args *skel.CmdArgs) error {
-+ n, _, err := loadNetConf(args.StdinData)
-+ if err != nil {
-+ return err
-+ }
-+
-+ if err := ipam.ExecDel(n.IPAM.Type, args.StdinData); err != nil {
-+ return err
-+ }
-+
-+ tearDownVhostUser(args)
-+ return err
-+
-+}
-+
-+func main() {
-+ skel.PluginMain(cmdAdd, cmdDel, version.All)
-+}