summary refs log tree commit diff
path: root/pkgs/os-specific/linux/openvswitch
diff options
context:
space:
mode:
authorChris Farmiloe <chrisfarms@gmail.com>2014-06-12 15:16:38 +0200
committerMichael Raskin <7c6f434c@mail.ru>2014-09-02 01:48:50 +0400
commit8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf (patch)
treeb9fa9a04a636b9c5f4d6c17d42fbc6ce7b4792b7 /pkgs/os-specific/linux/openvswitch
parent9deb7f8aae431ed7725cfaa13edf8645d19d91f2 (diff)
downloadnixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar.gz
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar.bz2
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar.lz
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar.xz
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.tar.zst
nixpkgs-8ef11bb0ee4567826d9a7509ea2c8f1e226bcebf.zip
add openvswitch package + basic nixos module to enable it
Diffstat (limited to 'pkgs/os-specific/linux/openvswitch')
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
new file mode 100644
index 00000000000..13b41ebe9c8
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, openssl, python27, iproute, perl510, kernel ? null}:
+let
+
+    version = "2.1.2";
+
+    skipKernelMod = kernel == null;
+
+in
+stdenv.mkDerivation {
+    version = "2.1.2";
+    name = "openvswitch-${version}";
+    src = fetchurl {
+        url = "http://openvswitch.org/releases/openvswitch-2.1.2.tar.gz";
+        sha256 = "16q7faqrj2pfchhn0x5s9ggi5ckcg9n62f6bnqaih064aaq2jm47";
+    };
+    kernel = if skipKernelMod then null else kernel.dev;
+    buildInputs = [
+        openssl
+        python27
+        perl510
+    ];
+    configureFlags = [
+        "--localstatedir=/var"
+        "--sharedstatedir=/var"
+        "--sbindir=$(out)/bin"
+    ] ++ (if skipKernelMod then [] else ["--with-linux"]);
+    # Leave /var out of this!
+    installFlags = [
+        "LOGDIR=$(TMPDIR)/dummy"
+        "RUNDIR=$(TMPDIR)/dummy"
+        "PKIDIR=$(TMPDIR)/dummy"
+    ];
+    meta = {
+        platforms = stdenv.lib.platforms.linux;
+        description = "A multilayer virtual switch";
+        longDescription = ''
+            Open vSwitch is a production quality, multilayer virtual switch 
+            licensed under the open source Apache 2.0 license. It is 
+            designed to enable massive network automation through 
+            programmatic extension, while still supporting standard 
+            management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, 
+            RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to 
+            support distribution across multiple physical servers similar 
+            to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+        '';
+        homepage = "http://openvswitch.org/";
+        licence = "Apache 2.0";
+    };
+}