From 15794dd1b8c85d0dc18335093891d1f586d55af6 Mon Sep 17 00:00:00 2001 From: unclejack Date: Tue, 28 Feb 2017 18:20:27 +0200 Subject: [PATCH] {Make,Vagrant}file: update box & switch to vendor Signed-off-by: Cristian Staretu --- Godeps/Godeps.json | 34 +- Godeps/_workspace/.gitignore | 2 - .../vishvananda/netlink/netlink_linux.go | 10 - .../netlink/netlink_unspecified.go | 143 ------- .../github.com/vishvananda/netlink/route.go | 66 ---- .../vishvananda/netns/netns_linux_386.go | 7 - .../vishvananda/netns/netns_linux_amd64.go | 7 - .../vishvananda/netns/netns_linux_arm.go | 7 - .../vishvananda/netns/netns_linux_arm64.go | 7 - .../vishvananda/netns/netns_linux_ppc64le.go | 7 - Makefile | 8 +- Vagrantfile | 4 +- .../github.com/BurntSushi/toml/.gitignore | 0 .../github.com/BurntSushi/toml/.travis.yml | 0 .../github.com/BurntSushi/toml/COMPATIBLE | 0 .../github.com/BurntSushi/toml/COPYING | 0 .../github.com/BurntSushi/toml/Makefile | 0 .../github.com/BurntSushi/toml/README.md | 0 .../github.com/BurntSushi/toml/decode.go | 0 .../github.com/BurntSushi/toml/decode_meta.go | 0 .../github.com/BurntSushi/toml/doc.go | 0 .../github.com/BurntSushi/toml/encode.go | 0 .../BurntSushi/toml/encoding_types.go | 0 .../BurntSushi/toml/encoding_types_1.1.go | 0 .../github.com/BurntSushi/toml/lex.go | 0 .../github.com/BurntSushi/toml/parse.go | 0 .../github.com/BurntSushi/toml/session.vim | 0 .../github.com/BurntSushi/toml/type_check.go | 0 .../github.com/BurntSushi/toml/type_fields.go | 0 .../github.com/Sirupsen/logrus/.gitignore | 0 .../github.com/Sirupsen/logrus/.travis.yml | 0 .../github.com/Sirupsen/logrus/CHANGELOG.md | 0 .../github.com/Sirupsen/logrus/LICENSE | 0 .../github.com/Sirupsen/logrus/README.md | 0 .../github.com/Sirupsen/logrus/doc.go | 0 .../github.com/Sirupsen/logrus/entry.go | 0 .../github.com/Sirupsen/logrus/exported.go | 0 .../github.com/Sirupsen/logrus/formatter.go | 0 .../github.com/Sirupsen/logrus/hooks.go | 0 .../Sirupsen/logrus/json_formatter.go | 0 .../github.com/Sirupsen/logrus/logger.go | 0 .../github.com/Sirupsen/logrus/logrus.go | 0 .../Sirupsen/logrus/terminal_bsd.go | 0 .../Sirupsen/logrus/terminal_linux.go | 0 .../Sirupsen/logrus/terminal_notwindows.go | 0 .../Sirupsen/logrus/terminal_solaris.go | 0 .../Sirupsen/logrus/terminal_windows.go | 0 .../Sirupsen/logrus/text_formatter.go | 0 .../github.com/Sirupsen/logrus/writer.go | 0 .../github.com/armon/go-radix/.gitignore | 0 .../github.com/armon/go-radix/.travis.yml | 0 .../github.com/armon/go-radix/LICENSE | 0 .../github.com/armon/go-radix/README.md | 0 .../github.com/armon/go-radix/radix.go | 0 .../github.com/cenkalti/hub/.gitignore | 0 .../github.com/cenkalti/hub/.travis.yml | 0 .../github.com/cenkalti/hub/LICENSE | 0 .../github.com/cenkalti/hub/README.md | 0 .../github.com/cenkalti/hub/hub.go | 0 .../github.com/cenkalti/rpc2/.gitignore | 0 .../github.com/cenkalti/rpc2/.travis.yml | 0 .../github.com/cenkalti/rpc2/LICENSE | 0 .../github.com/cenkalti/rpc2/README.md | 0 .../github.com/cenkalti/rpc2/client.go | 0 .../github.com/cenkalti/rpc2/codec.go | 0 .../cenkalti/rpc2/jsonrpc/jsonrpc.go | 0 .../github.com/cenkalti/rpc2/server.go | 0 .../github.com/contiv/libovsdb/.gitignore | 0 .../github.com/contiv/libovsdb/HACKING.md | 0 .../github.com/contiv/libovsdb/LICENSE | 0 .../github.com/contiv/libovsdb/Makefile | 0 .../github.com/contiv/libovsdb/README.md | 0 .../github.com/contiv/libovsdb/circle.yml | 0 .../github.com/contiv/libovsdb/client.go | 22 +- .../github.com/contiv/libovsdb/fig.yml | 0 .../github.com/contiv/libovsdb/map.go | 0 .../github.com/contiv/libovsdb/notation.go | 0 .../github.com/contiv/libovsdb/row.go | 0 .../github.com/contiv/libovsdb/rpc.go | 0 .../github.com/contiv/libovsdb/schema.go | 0 .../github.com/contiv/libovsdb/set.go | 0 .../github.com/contiv/libovsdb/uuid.go | 0 .../github.com/eapache/channels/.gitignore | 0 .../github.com/eapache/channels/.travis.yml | 0 .../github.com/eapache/channels/CHANGELOG.md | 0 .../github.com/eapache/channels/LICENSE | 0 .../github.com/eapache/channels/README.md | 0 .../eapache/channels/batching_channel.go | 0 .../github.com/eapache/channels/black_hole.go | 0 .../github.com/eapache/channels/channels.go | 0 .../eapache/channels/infinite_channel.go | 0 .../eapache/channels/native_channel.go | 0 .../eapache/channels/overflowing_channel.go | 0 .../eapache/channels/resizable_channel.go | 0 .../eapache/channels/ring_channel.go | 0 .../eapache/channels/shared_buffer.go | 0 .../github.com/eapache/queue/.gitignore | 0 .../github.com/eapache/queue/.travis.yml | 0 .../github.com/eapache/queue/LICENSE | 0 .../github.com/eapache/queue/README.md | 0 .../github.com/eapache/queue/queue.go | 0 .../github.com/fsnotify/fsnotify/.gitignore | 0 .../github.com/fsnotify/fsnotify/.travis.yml | 0 .../github.com/fsnotify/fsnotify/AUTHORS | 0 .../github.com/fsnotify/fsnotify/CHANGELOG.md | 0 .../fsnotify/fsnotify/CONTRIBUTING.md | 0 .../github.com/fsnotify/fsnotify/LICENSE | 0 .../github.com/fsnotify/fsnotify/README.md | 0 .../github.com/fsnotify/fsnotify/fen.go | 0 .../github.com/fsnotify/fsnotify/fsnotify.go | 0 .../github.com/fsnotify/fsnotify/inotify.go | 0 .../fsnotify/fsnotify/inotify_poller.go | 0 .../github.com/fsnotify/fsnotify/kqueue.go | 0 .../fsnotify/fsnotify/open_mode_bsd.go | 0 .../fsnotify/fsnotify/open_mode_darwin.go | 0 .../github.com/fsnotify/fsnotify/windows.go | 0 vendor/github.com/golang/protobuf/AUTHORS | 3 + .../github.com/golang/protobuf/CONTRIBUTORS | 3 + .../github.com/golang/protobuf/LICENSE | 0 .../github.com/golang/protobuf/proto/Makefile | 0 .../github.com/golang/protobuf/proto/clone.go | 0 .../golang/protobuf/proto/decode.go | 0 .../golang/protobuf/proto/encode.go | 0 .../github.com/golang/protobuf/proto/equal.go | 0 .../golang/protobuf/proto/extensions.go | 0 .../github.com/golang/protobuf/proto/lib.go | 0 .../golang/protobuf/proto/message_set.go | 0 .../golang/protobuf/proto/pointer_reflect.go | 0 .../golang/protobuf/proto/pointer_unsafe.go | 0 .../golang/protobuf/proto/properties.go | 0 .../github.com/golang/protobuf/proto/text.go | 0 .../golang/protobuf/proto/text_parser.go | 0 .../github.com/google/gopacket/.gitignore | 0 .../github.com/google/gopacket/.travis.yml | 0 .../github.com/google/gopacket/AUTHORS | 0 .../github.com/google/gopacket/CHANGELOG | 0 .../google/gopacket/CONTRIBUTING.md | 0 .../github.com/google/gopacket/LICENSE | 0 .../github.com/google/gopacket/README.mkd | 0 .../github.com/google/gopacket/base.go | 0 .../github.com/google/gopacket/decode.go | 0 .../github.com/google/gopacket/doc.go | 0 .../github.com/google/gopacket/flows.go | 0 .../github.com/google/gopacket/gc | 0 .../github.com/google/gopacket/layerclass.go | 0 .../github.com/google/gopacket/layers/arp.go | 0 .../github.com/google/gopacket/layers/base.go | 0 .../github.com/google/gopacket/layers/cdp.go | 0 .../github.com/google/gopacket/layers/ctp.go | 0 .../github.com/google/gopacket/layers/dns.go | 0 .../github.com/google/gopacket/layers/doc.go | 0 .../google/gopacket/layers/dot11.go | 0 .../google/gopacket/layers/dot1q.go | 0 .../github.com/google/gopacket/layers/eap.go | 0 .../google/gopacket/layers/eapol.go | 0 .../google/gopacket/layers/endpoints.go | 0 .../google/gopacket/layers/enums.go | 0 .../google/gopacket/layers/etherip.go | 0 .../google/gopacket/layers/ethernet.go | 0 .../github.com/google/gopacket/layers/fddi.go | 0 .../github.com/google/gopacket/layers/gen.go | 0 .../github.com/google/gopacket/layers/gre.go | 0 .../google/gopacket/layers/iana_ports.go | 0 .../google/gopacket/layers/icmp4.go | 0 .../google/gopacket/layers/icmp6.go | 0 .../github.com/google/gopacket/layers/igmp.go | 0 .../github.com/google/gopacket/layers/ip4.go | 0 .../github.com/google/gopacket/layers/ip6.go | 0 .../google/gopacket/layers/ipsec.go | 0 .../google/gopacket/layers/layertypes.go | 0 .../google/gopacket/layers/linux_sll.go | 0 .../github.com/google/gopacket/layers/llc.go | 0 .../github.com/google/gopacket/layers/lldp.go | 0 .../google/gopacket/layers/loopback.go | 0 .../github.com/google/gopacket/layers/mpls.go | 0 .../github.com/google/gopacket/layers/ndp.go | 0 .../google/gopacket/layers/pflog.go | 0 .../google/gopacket/layers/ports.go | 0 .../github.com/google/gopacket/layers/ppp.go | 0 .../google/gopacket/layers/pppoe.go | 0 .../google/gopacket/layers/prism.go | 0 .../google/gopacket/layers/radiotap.go | 0 .../github.com/google/gopacket/layers/rudp.go | 0 .../github.com/google/gopacket/layers/sctp.go | 0 .../google/gopacket/layers/sflow.go | 0 .../github.com/google/gopacket/layers/tcp.go | 0 .../google/gopacket/layers/tcpip.go | 0 .../google/gopacket/layers/test_creator.py | 0 .../github.com/google/gopacket/layers/udp.go | 0 .../google/gopacket/layers/udplite.go | 0 .../github.com/google/gopacket/layers/usb.go | 0 .../github.com/google/gopacket/layertype.go | 0 .../github.com/google/gopacket/packet.go | 0 .../github.com/google/gopacket/parser.go | 0 .../github.com/google/gopacket/pcap/doc.go | 0 .../github.com/google/gopacket/pcap/pcap.go | 0 .../google/gopacket/pcap/pcap_tester.go | 0 .../google/gopacket/pcap/test_dns.pcap | Bin .../google/gopacket/pcap/test_ethernet.pcap | Bin .../google/gopacket/pcap/test_loopback.pcap | Bin .../github.com/google/gopacket/writer.go | 0 .../github.com/hashicorp/hcl/.gitignore | 0 .../github.com/hashicorp/hcl/.travis.yml | 0 .../github.com/hashicorp/hcl/LICENSE | 0 .../github.com/hashicorp/hcl/Makefile | 0 .../github.com/hashicorp/hcl/README.md | 0 .../github.com/hashicorp/hcl/decoder.go | 0 .../github.com/hashicorp/hcl/hcl.go | 0 .../github.com/hashicorp/hcl/hcl/ast/ast.go | 0 .../github.com/hashicorp/hcl/hcl/ast/walk.go | 0 .../hashicorp/hcl/hcl/parser/error.go | 0 .../hashicorp/hcl/hcl/parser/parser.go | 0 .../hashicorp/hcl/hcl/scanner/scanner.go | 0 .../hashicorp/hcl/hcl/strconv/quote.go | 0 .../hashicorp/hcl/hcl/token/position.go | 0 .../hashicorp/hcl/hcl/token/token.go | 0 .../hashicorp/hcl/json/parser/flatten.go | 0 .../hashicorp/hcl/json/parser/parser.go | 0 .../hashicorp/hcl/json/scanner/scanner.go | 0 .../hashicorp/hcl/json/token/position.go | 0 .../hashicorp/hcl/json/token/token.go | 0 .../github.com/hashicorp/hcl/lex.go | 0 .../github.com/hashicorp/hcl/parse.go | 0 .../github.com/influxdata/influxdb/LICENSE | 0 .../influxdb/LICENSE_OF_DEPENDENCIES.md | 0 .../influxdata/influxdb/client/v2/client.go | 0 .../influxdata/influxdb/models/consistency.go | 0 .../influxdata/influxdb/models/points.go | 0 .../influxdata/influxdb/models/rows.go | 0 .../influxdata/influxdb/models/statistic.go | 0 .../influxdata/influxdb/models/time.go | 0 .../influxdata/influxdb/pkg/escape/bytes.go | 0 .../influxdata/influxdb/pkg/escape/strings.go | 0 .../github.com/jainvipin/bitset/.gitignore | 0 .../github.com/jainvipin/bitset/CHANGELOG | 0 .../github.com/jainvipin/bitset/LICENSE.txt | 0 .../github.com/jainvipin/bitset/README.md | 0 .../github.com/jainvipin/bitset/bitset.go | 0 .../github.com/jainvipin/bitset/popcnt.go | 0 .../jainvipin/bitset/popcnt_amd64.s | 0 .../github.com/jainvipin/bitset/popcnt_asm.go | 0 .../jainvipin/bitset/popcnt_generic.go | 0 .../src => vendor}/github.com/kr/fs/LICENSE | 0 .../src => vendor}/github.com/kr/fs/Readme | 0 .../github.com/kr/fs/filesystem.go | 0 .../src => vendor}/github.com/kr/fs/walk.go | 0 .../magiconair/properties/.gitignore | 0 .../magiconair/properties/.travis.yml | 0 .../magiconair/properties/CHANGELOG.md | 0 .../github.com/magiconair/properties/LICENSE | 0 .../magiconair/properties/README.md | 0 .../magiconair/properties/decode.go | 0 .../github.com/magiconair/properties/doc.go | 0 .../github.com/magiconair/properties/lex.go | 0 .../github.com/magiconair/properties/load.go | 0 .../magiconair/properties/parser.go | 0 .../magiconair/properties/properties.go | 0 .../magiconair/properties/rangecheck.go | 0 .../mitchellh/mapstructure/.travis.yml | 0 .../github.com/mitchellh/mapstructure/LICENSE | 0 .../mitchellh/mapstructure/README.md | 0 .../mitchellh/mapstructure/decode_hooks.go | 0 .../mitchellh/mapstructure/error.go | 0 .../mitchellh/mapstructure/mapstructure.go | 0 .../github.com/osrg/gobgp/LICENSE | 0 .../github.com/osrg/gobgp/api/gobgp.pb.go | 0 .../github.com/osrg/gobgp/api/gobgp.proto | 0 .../github.com/osrg/gobgp/api/grpc_server.go | 0 .../github.com/osrg/gobgp/api/util.go | 0 .../osrg/gobgp/config/bgp_configs.go | 0 .../github.com/osrg/gobgp/config/default.go | 0 .../osrg/gobgp/config/default_linux.go | 0 .../osrg/gobgp/config/default_nonlinux.go | 0 .../github.com/osrg/gobgp/config/serve.go | 0 .../github.com/osrg/gobgp/config/util.go | 0 .../github.com/osrg/gobgp/packet/bgp/bgp.go | 0 .../gobgp/packet/bgp/bgpattrtype_string.go | 0 .../packet/bgp/bgpcapabilitycode_string.go | 0 .../osrg/gobgp/packet/bgp/constant.go | 0 .../osrg/gobgp/packet/bgp/esitype_string.go | 0 .../osrg/gobgp/packet/bgp/fsmstate_string.go | 0 .../osrg/gobgp/packet/bgp/helper.go | 0 .../osrg/gobgp/packet/bgp/validate.go | 0 .../github.com/osrg/gobgp/packet/bmp/bmp.go | 0 .../github.com/osrg/gobgp/packet/mrt/mrt.go | 0 .../github.com/osrg/gobgp/packet/rtr/rtr.go | 0 .../github.com/osrg/gobgp/server/bmp.go | 0 .../github.com/osrg/gobgp/server/collector.go | 0 .../github.com/osrg/gobgp/server/fsm.go | 0 .../github.com/osrg/gobgp/server/mrt.go | 0 .../github.com/osrg/gobgp/server/peer.go | 0 .../github.com/osrg/gobgp/server/rpki.go | 0 .../github.com/osrg/gobgp/server/server.go | 0 .../github.com/osrg/gobgp/server/sockopt.go | 0 .../osrg/gobgp/server/sockopt_bsd.go | 0 .../osrg/gobgp/server/sockopt_linux.go | 0 .../osrg/gobgp/server/sockopt_openbsd.go | 0 .../github.com/osrg/gobgp/server/zclient.go | 0 .../github.com/osrg/gobgp/table/adj.go | 0 .../osrg/gobgp/table/destination.go | 0 .../github.com/osrg/gobgp/table/message.go | 0 .../github.com/osrg/gobgp/table/path.go | 0 .../github.com/osrg/gobgp/table/policy.go | 0 .../github.com/osrg/gobgp/table/table.go | 0 .../osrg/gobgp/table/table_manager.go | 0 .../github.com/osrg/gobgp/table/vrf.go | 0 .../osrg/gobgp/zebra/safi_string.go | 0 .../github.com/osrg/gobgp/zebra/zapi.go | 0 .../github.com/osrg/gobgp/zebra/zapi_bsd.go | 0 .../osrg/gobgp/zebra/zapi_darwin.go | 0 .../github.com/osrg/gobgp/zebra/zapi_linux.go | 0 .../github.com/pkg/errors/.gitignore | 0 .../github.com/pkg/errors/.travis.yml | 0 .../github.com/pkg/errors/LICENSE | 0 .../github.com/pkg/errors/README.md | 0 .../github.com/pkg/errors/appveyor.yml | 0 .../github.com/pkg/errors/errors.go | 0 .../github.com/pkg/errors/stack.go | 0 .../github.com/pkg/sftp/.gitignore | 0 .../github.com/pkg/sftp/.travis.yml | 0 .../github.com/pkg/sftp/CONTRIBUTORS | 0 .../github.com/pkg/sftp/LICENSE | 0 .../github.com/pkg/sftp/README.md | 0 .../github.com/pkg/sftp/attrs.go | 0 .../github.com/pkg/sftp/attrs_stubs.go | 0 .../github.com/pkg/sftp/attrs_unix.go | 0 .../github.com/pkg/sftp/client.go | 0 .../github.com/pkg/sftp/conn.go | 0 .../github.com/pkg/sftp/debug.go | 0 .../github.com/pkg/sftp/packet.go | 0 .../github.com/pkg/sftp/release.go | 0 .../github.com/pkg/sftp/server.go | 0 .../pkg/sftp/server_statvfs_darwin.go | 0 .../pkg/sftp/server_statvfs_impl.go | 0 .../pkg/sftp/server_statvfs_linux.go | 0 .../pkg/sftp/server_statvfs_stubs.go | 0 .../github.com/pkg/sftp/server_stubs.go | 0 .../github.com/pkg/sftp/server_unix.go | 0 .../github.com/pkg/sftp/sftp.go | 0 .../github.com/satori/go.uuid/.travis.yml | 0 .../github.com/satori/go.uuid/LICENSE | 0 .../github.com/satori/go.uuid/README.md | 0 .../github.com/satori/go.uuid/uuid.go | 0 .../github.com/shaleman/libOpenflow/LICENSE | 0 .../shaleman/libOpenflow/common/header.go | 0 .../shaleman/libOpenflow/openflow13/action.go | 0 .../libOpenflow/openflow13/flowmod.go | 0 .../shaleman/libOpenflow/openflow13/group.go | 0 .../libOpenflow/openflow13/instruction.go | 0 .../shaleman/libOpenflow/openflow13/match.go | 0 .../libOpenflow/openflow13/multipart.go | 0 .../libOpenflow/openflow13/openflow13.go | 0 .../shaleman/libOpenflow/openflow13/port.go | 0 .../shaleman/libOpenflow/protocol/arp.go | 0 .../shaleman/libOpenflow/protocol/dhcp.go | 0 .../shaleman/libOpenflow/protocol/ethernet.go | 0 .../shaleman/libOpenflow/protocol/icmp.go | 0 .../shaleman/libOpenflow/protocol/ip.go | 0 .../shaleman/libOpenflow/protocol/lldp.go | 0 .../shaleman/libOpenflow/protocol/tcp.go | 0 .../shaleman/libOpenflow/protocol/udp.go | 0 .../shaleman/libOpenflow/util/stream.go | 0 .../shaleman/libOpenflow/util/util.go | 0 .../github.com/spf13/afero/.travis.yml | 0 .../github.com/spf13/afero/LICENSE.txt | 0 .../github.com/spf13/afero/README.md | 0 .../github.com/spf13/afero/afero.go | 0 .../github.com/spf13/afero/appveyor.yml | 0 .../github.com/spf13/afero/basepath.go | 0 .../github.com/spf13/afero/cacheOnReadFs.go | 0 .../github.com/spf13/afero/const_bsds.go | 0 .../github.com/spf13/afero/const_win_unix.go | 0 .../github.com/spf13/afero/copyOnWriteFs.go | 0 .../github.com/spf13/afero/httpFs.go | 0 .../github.com/spf13/afero/ioutil.go | 0 .../github.com/spf13/afero/mem/dir.go | 0 .../github.com/spf13/afero/mem/dirmap.go | 0 .../github.com/spf13/afero/mem/file.go | 0 .../github.com/spf13/afero/memmap.go | 0 .../github.com/spf13/afero/memradix.go | 0 .../github.com/spf13/afero/os.go | 0 .../github.com/spf13/afero/path.go | 0 .../github.com/spf13/afero/readonlyfs.go | 0 .../github.com/spf13/afero/regexpfs.go | 0 .../github.com/spf13/afero/sftp.go | 0 .../github.com/spf13/afero/sftp/file.go | 0 .../github.com/spf13/afero/sftp_test_go | 0 .../github.com/spf13/afero/unionFile.go | 0 .../github.com/spf13/afero/util.go | 0 .../github.com/spf13/cast/.gitignore | 0 .../github.com/spf13/cast/LICENSE | 0 .../github.com/spf13/cast/README.md | 0 .../github.com/spf13/cast/cast.go | 0 .../github.com/spf13/cast/caste.go | 0 .../spf13/jwalterweatherman/.gitignore | 0 .../spf13/jwalterweatherman/LICENSE | 0 .../spf13/jwalterweatherman/README.md | 0 .../thatswhyyoualwaysleaveanote.go | 0 .../github.com/spf13/pflag/.travis.yml | 0 .../github.com/spf13/pflag/LICENSE | 0 .../github.com/spf13/pflag/README.md | 0 .../github.com/spf13/pflag/bool.go | 0 .../github.com/spf13/pflag/count.go | 0 .../github.com/spf13/pflag/duration.go | 0 .../github.com/spf13/pflag/flag.go | 0 .../github.com/spf13/pflag/float32.go | 0 .../github.com/spf13/pflag/float64.go | 0 .../github.com/spf13/pflag/golangflag.go | 0 .../github.com/spf13/pflag/int.go | 0 .../github.com/spf13/pflag/int32.go | 0 .../github.com/spf13/pflag/int64.go | 0 .../github.com/spf13/pflag/int8.go | 0 .../github.com/spf13/pflag/int_slice.go | 0 .../github.com/spf13/pflag/ip.go | 0 .../github.com/spf13/pflag/ipmask.go | 0 .../github.com/spf13/pflag/ipnet.go | 0 .../github.com/spf13/pflag/string.go | 0 .../github.com/spf13/pflag/string_slice.go | 0 .../github.com/spf13/pflag/uint.go | 0 .../github.com/spf13/pflag/uint16.go | 0 .../github.com/spf13/pflag/uint32.go | 0 .../github.com/spf13/pflag/uint64.go | 0 .../github.com/spf13/pflag/uint8.go | 0 .../github.com/spf13/viper/.gitignore | 0 .../github.com/spf13/viper/.travis.yml | 0 .../github.com/spf13/viper/LICENSE | 0 .../github.com/spf13/viper/README.md | 0 .../github.com/spf13/viper/flags.go | 0 .../github.com/spf13/viper/nohup.out | 0 .../github.com/spf13/viper/util.go | 0 .../github.com/spf13/viper/viper.go | 0 .../streamrail/concurrent-map/LICENSE | 0 .../streamrail/concurrent-map/README.md | 0 .../concurrent-map/concurrent_map.go | 0 .../concurrent_map_template.txt | 0 .../vishvananda/netlink/.travis.yml | 0 .../github.com/vishvananda/netlink/LICENSE | 0 .../github.com/vishvananda/netlink/Makefile | 2 +- .../github.com/vishvananda/netlink/README.md | 0 .../github.com/vishvananda/netlink/addr.go | 15 +- .../vishvananda/netlink/addr_linux.go | 39 +- .../vishvananda/netlink/bpf_linux.go | 12 +- .../github.com/vishvananda/netlink/class.go | 0 .../vishvananda/netlink/class_linux.go | 0 .../github.com/vishvananda/netlink/filter.go | 4 +- .../vishvananda/netlink/filter_linux.go | 0 .../vishvananda/netlink/handle_linux.go | 25 ++ .../vishvananda/netlink/handle_unspecified.go | 218 +++++++++++ .../github.com/vishvananda/netlink/link.go | 166 ++++++++- .../vishvananda/netlink/link_linux.go | 348 +++++++++++++++--- .../vishvananda/netlink/link_tuntap_linux.go | 0 .../github.com/vishvananda/netlink/neigh.go | 0 .../vishvananda/netlink/neigh_linux.go | 25 +- .../github.com/vishvananda/netlink/netlink.go | 10 +- .../vishvananda/netlink/netlink_linux.go | 11 + .../netlink/netlink_unspecified.go | 213 +++++++++++ .../vishvananda/netlink/nl/addr_linux.go | 0 .../vishvananda/netlink/nl/link_linux.go | 70 +++- .../vishvananda/netlink/nl/mpls_linux.go | 36 ++ .../vishvananda/netlink/nl/nl_linux.go | 218 ++++++++++- .../vishvananda/netlink/nl/nl_unspecified.go | 11 + .../vishvananda/netlink/nl/route_linux.go | 28 +- .../vishvananda/netlink/nl/syscall.go | 31 ++ .../vishvananda/netlink/nl/tc_linux.go | 0 .../vishvananda/netlink/nl/xfrm_linux.go | 72 ++-- .../netlink/nl/xfrm_monitor_linux.go | 32 ++ .../netlink/nl/xfrm_policy_linux.go | 0 .../netlink/nl/xfrm_state_linux.go | 106 +++++- .../github.com/vishvananda/netlink/order.go | 32 ++ .../vishvananda/netlink/protinfo.go | 5 +- .../vishvananda/netlink/protinfo_linux.go | 40 +- .../github.com/vishvananda/netlink/qdisc.go | 9 +- .../vishvananda/netlink/qdisc_linux.go | 18 +- .../github.com/vishvananda/netlink/route.go | 116 ++++++ .../vishvananda/netlink/route_linux.go | 270 ++++++++++++-- .../vishvananda/netlink/route_unspecified.go | 4 + .../github.com/vishvananda/netlink/rule.go | 0 .../vishvananda/netlink/rule_linux.go | 14 +- .../github.com/vishvananda/netlink/socket.go | 27 ++ .../vishvananda/netlink/socket_linux.go | 159 ++++++++ .../github.com/vishvananda/netlink/xfrm.go | 0 .../vishvananda/netlink/xfrm_monitor_linux.go | 98 +++++ .../vishvananda/netlink/xfrm_policy.go | 0 .../vishvananda/netlink/xfrm_policy_linux.go | 0 .../vishvananda/netlink/xfrm_state.go | 16 +- .../vishvananda/netlink/xfrm_state_linux.go | 138 ++++++- .../github.com/vishvananda/netns/LICENSE | 0 .../github.com/vishvananda/netns/README.md | 6 +- .../github.com/vishvananda/netns/netns.go | 17 +- .../vishvananda/netns/netns_linux.go | 23 +- .../vishvananda/netns/netns_unspecified.go | 8 + vendor/golang.org/x/crypto/AUTHORS | 3 + vendor/golang.org/x/crypto/CONTRIBUTORS | 3 + .../golang.org/x/crypto/LICENSE | 0 .../golang.org/x/crypto/PATENTS | 0 .../golang.org/x/crypto/ssh/buffer.go | 0 .../golang.org/x/crypto/ssh/certs.go | 0 .../golang.org/x/crypto/ssh/channel.go | 0 .../golang.org/x/crypto/ssh/cipher.go | 0 .../golang.org/x/crypto/ssh/client.go | 0 .../golang.org/x/crypto/ssh/client_auth.go | 0 .../golang.org/x/crypto/ssh/common.go | 0 .../golang.org/x/crypto/ssh/connection.go | 0 .../golang.org/x/crypto/ssh/doc.go | 0 .../golang.org/x/crypto/ssh/handshake.go | 0 .../golang.org/x/crypto/ssh/kex.go | 0 .../golang.org/x/crypto/ssh/keys.go | 0 .../golang.org/x/crypto/ssh/mac.go | 0 .../golang.org/x/crypto/ssh/messages.go | 0 .../golang.org/x/crypto/ssh/mux.go | 0 .../golang.org/x/crypto/ssh/server.go | 0 .../golang.org/x/crypto/ssh/session.go | 0 .../golang.org/x/crypto/ssh/tcpip.go | 0 .../golang.org/x/crypto/ssh/transport.go | 0 vendor/golang.org/x/net/AUTHORS | 3 + vendor/golang.org/x/net/CONTRIBUTORS | 3 + .../src => vendor}/golang.org/x/net/LICENSE | 0 .../src => vendor}/golang.org/x/net/PATENTS | 0 .../golang.org/x/net/context/context.go | 0 .../golang.org/x/net/context/go17.go | 0 .../golang.org/x/net/context/pre_go17.go | 0 .../golang.org/x/net/http2/.gitignore | 0 .../golang.org/x/net/http2/Dockerfile | 0 .../golang.org/x/net/http2/Makefile | 0 .../golang.org/x/net/http2/README | 0 .../x/net/http2/client_conn_pool.go | 0 .../x/net/http2/configure_transport.go | 0 .../golang.org/x/net/http2/errors.go | 0 .../golang.org/x/net/http2/fixed_buffer.go | 0 .../golang.org/x/net/http2/flow.go | 0 .../golang.org/x/net/http2/frame.go | 0 .../golang.org/x/net/http2/go16.go | 0 .../golang.org/x/net/http2/go17.go | 0 .../golang.org/x/net/http2/gotrack.go | 0 .../golang.org/x/net/http2/headermap.go | 0 .../golang.org/x/net/http2/hpack/encode.go | 0 .../golang.org/x/net/http2/hpack/hpack.go | 0 .../golang.org/x/net/http2/hpack/huffman.go | 0 .../golang.org/x/net/http2/hpack/tables.go | 0 .../golang.org/x/net/http2/http2.go | 0 .../golang.org/x/net/http2/not_go16.go | 0 .../golang.org/x/net/http2/not_go17.go | 0 .../golang.org/x/net/http2/pipe.go | 0 .../golang.org/x/net/http2/server.go | 0 .../golang.org/x/net/http2/transport.go | 0 .../golang.org/x/net/http2/write.go | 0 .../golang.org/x/net/http2/writesched.go | 0 .../x/net/internal/timeseries/timeseries.go | 0 .../golang.org/x/net/lex/httplex/httplex.go | 0 .../golang.org/x/net/trace/events.go | 0 .../golang.org/x/net/trace/histogram.go | 0 .../golang.org/x/net/trace/trace.go | 0 vendor/golang.org/x/sys/AUTHORS | 3 + vendor/golang.org/x/sys/CONTRIBUTORS | 3 + .../src => vendor}/golang.org/x/sys/LICENSE | 0 .../src => vendor}/golang.org/x/sys/PATENTS | 0 .../golang.org/x/sys/unix/.gitignore | 0 .../golang.org/x/sys/unix/asm.s | 0 .../golang.org/x/sys/unix/asm_darwin_386.s | 0 .../golang.org/x/sys/unix/asm_darwin_amd64.s | 0 .../golang.org/x/sys/unix/asm_darwin_arm.s | 0 .../golang.org/x/sys/unix/asm_darwin_arm64.s | 0 .../golang.org/x/sys/unix/asm_dragonfly_386.s | 0 .../x/sys/unix/asm_dragonfly_amd64.s | 0 .../golang.org/x/sys/unix/asm_freebsd_386.s | 0 .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 0 .../golang.org/x/sys/unix/asm_freebsd_arm.s | 0 .../golang.org/x/sys/unix/asm_linux_386.s | 0 .../golang.org/x/sys/unix/asm_linux_amd64.s | 0 .../golang.org/x/sys/unix/asm_linux_arm.s | 0 .../golang.org/x/sys/unix/asm_linux_arm64.s | 0 .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 0 .../golang.org/x/sys/unix/asm_netbsd_386.s | 0 .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 0 .../golang.org/x/sys/unix/asm_netbsd_arm.s | 0 .../golang.org/x/sys/unix/asm_openbsd_386.s | 0 .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 0 .../golang.org/x/sys/unix/asm_solaris_amd64.s | 0 .../golang.org/x/sys/unix/constants.go | 0 .../golang.org/x/sys/unix/env_unix.go | 0 .../golang.org/x/sys/unix/env_unset.go | 0 .../golang.org/x/sys/unix/flock.go | 0 .../x/sys/unix/flock_linux_32bit.go | 0 .../golang.org/x/sys/unix/gccgo.go | 0 .../golang.org/x/sys/unix/gccgo_c.c | 0 .../x/sys/unix/gccgo_linux_amd64.go | 0 .../golang.org/x/sys/unix/mkall.sh | 0 .../golang.org/x/sys/unix/mkerrors.sh | 0 .../golang.org/x/sys/unix/mksyscall.pl | 0 .../x/sys/unix/mksyscall_solaris.pl | 0 .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_darwin.pl | 0 .../x/sys/unix/mksysnum_dragonfly.pl | 0 .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_linux.pl | 0 .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 0 .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 0 .../golang.org/x/sys/unix/race.go | 0 .../golang.org/x/sys/unix/race0.go | 0 .../golang.org/x/sys/unix/sockcmsg_linux.go | 0 .../golang.org/x/sys/unix/sockcmsg_unix.go | 0 .../golang.org/x/sys/unix/str.go | 0 .../golang.org/x/sys/unix/syscall.go | 0 .../golang.org/x/sys/unix/syscall_bsd.go | 0 .../golang.org/x/sys/unix/syscall_darwin.go | 0 .../x/sys/unix/syscall_darwin_386.go | 0 .../x/sys/unix/syscall_darwin_amd64.go | 0 .../x/sys/unix/syscall_darwin_arm.go | 0 .../x/sys/unix/syscall_darwin_arm64.go | 0 .../x/sys/unix/syscall_dragonfly.go | 0 .../x/sys/unix/syscall_dragonfly_386.go | 0 .../x/sys/unix/syscall_dragonfly_amd64.go | 0 .../golang.org/x/sys/unix/syscall_freebsd.go | 0 .../x/sys/unix/syscall_freebsd_386.go | 0 .../x/sys/unix/syscall_freebsd_amd64.go | 0 .../x/sys/unix/syscall_freebsd_arm.go | 0 .../golang.org/x/sys/unix/syscall_linux.go | 0 .../x/sys/unix/syscall_linux_386.go | 0 .../x/sys/unix/syscall_linux_amd64.go | 0 .../x/sys/unix/syscall_linux_arm.go | 0 .../x/sys/unix/syscall_linux_arm64.go | 0 .../x/sys/unix/syscall_linux_ppc64x.go | 0 .../golang.org/x/sys/unix/syscall_netbsd.go | 0 .../x/sys/unix/syscall_netbsd_386.go | 0 .../x/sys/unix/syscall_netbsd_amd64.go | 0 .../x/sys/unix/syscall_netbsd_arm.go | 0 .../golang.org/x/sys/unix/syscall_no_getwd.go | 0 .../golang.org/x/sys/unix/syscall_openbsd.go | 0 .../x/sys/unix/syscall_openbsd_386.go | 0 .../x/sys/unix/syscall_openbsd_amd64.go | 0 .../golang.org/x/sys/unix/syscall_solaris.go | 0 .../x/sys/unix/syscall_solaris_amd64.go | 0 .../golang.org/x/sys/unix/syscall_unix.go | 0 .../golang.org/x/sys/unix/types_darwin.go | 0 .../golang.org/x/sys/unix/types_dragonfly.go | 0 .../golang.org/x/sys/unix/types_freebsd.go | 0 .../golang.org/x/sys/unix/types_linux.go | 0 .../golang.org/x/sys/unix/types_netbsd.go | 0 .../golang.org/x/sys/unix/types_openbsd.go | 0 .../golang.org/x/sys/unix/types_solaris.go | 0 .../x/sys/unix/zerrors_darwin_386.go | 0 .../x/sys/unix/zerrors_darwin_amd64.go | 0 .../x/sys/unix/zerrors_darwin_arm.go | 0 .../x/sys/unix/zerrors_darwin_arm64.go | 0 .../x/sys/unix/zerrors_dragonfly_386.go | 0 .../x/sys/unix/zerrors_dragonfly_amd64.go | 0 .../x/sys/unix/zerrors_freebsd_386.go | 0 .../x/sys/unix/zerrors_freebsd_amd64.go | 0 .../x/sys/unix/zerrors_freebsd_arm.go | 0 .../x/sys/unix/zerrors_linux_386.go | 0 .../x/sys/unix/zerrors_linux_amd64.go | 0 .../x/sys/unix/zerrors_linux_arm.go | 0 .../x/sys/unix/zerrors_linux_arm64.go | 0 .../x/sys/unix/zerrors_linux_ppc64.go | 0 .../x/sys/unix/zerrors_linux_ppc64le.go | 0 .../x/sys/unix/zerrors_netbsd_386.go | 0 .../x/sys/unix/zerrors_netbsd_amd64.go | 0 .../x/sys/unix/zerrors_netbsd_arm.go | 0 .../x/sys/unix/zerrors_openbsd_386.go | 0 .../x/sys/unix/zerrors_openbsd_amd64.go | 0 .../x/sys/unix/zerrors_solaris_amd64.go | 0 .../x/sys/unix/zsyscall_darwin_386.go | 0 .../x/sys/unix/zsyscall_darwin_amd64.go | 0 .../x/sys/unix/zsyscall_darwin_arm.go | 0 .../x/sys/unix/zsyscall_darwin_arm64.go | 0 .../x/sys/unix/zsyscall_dragonfly_386.go | 0 .../x/sys/unix/zsyscall_dragonfly_amd64.go | 0 .../x/sys/unix/zsyscall_freebsd_386.go | 0 .../x/sys/unix/zsyscall_freebsd_amd64.go | 0 .../x/sys/unix/zsyscall_freebsd_arm.go | 0 .../x/sys/unix/zsyscall_linux_386.go | 0 .../x/sys/unix/zsyscall_linux_amd64.go | 0 .../x/sys/unix/zsyscall_linux_arm.go | 0 .../x/sys/unix/zsyscall_linux_arm64.go | 0 .../x/sys/unix/zsyscall_linux_ppc64.go | 0 .../x/sys/unix/zsyscall_linux_ppc64le.go | 0 .../x/sys/unix/zsyscall_netbsd_386.go | 0 .../x/sys/unix/zsyscall_netbsd_amd64.go | 0 .../x/sys/unix/zsyscall_netbsd_arm.go | 0 .../x/sys/unix/zsyscall_openbsd_386.go | 0 .../x/sys/unix/zsyscall_openbsd_amd64.go | 0 .../x/sys/unix/zsyscall_solaris_amd64.go | 0 .../golang.org/x/sys/unix/zsysctl_openbsd.go | 0 .../x/sys/unix/zsysnum_darwin_386.go | 0 .../x/sys/unix/zsysnum_darwin_amd64.go | 0 .../x/sys/unix/zsysnum_darwin_arm.go | 0 .../x/sys/unix/zsysnum_darwin_arm64.go | 0 .../x/sys/unix/zsysnum_dragonfly_386.go | 0 .../x/sys/unix/zsysnum_dragonfly_amd64.go | 0 .../x/sys/unix/zsysnum_freebsd_386.go | 0 .../x/sys/unix/zsysnum_freebsd_amd64.go | 0 .../x/sys/unix/zsysnum_freebsd_arm.go | 0 .../x/sys/unix/zsysnum_linux_386.go | 0 .../x/sys/unix/zsysnum_linux_amd64.go | 0 .../x/sys/unix/zsysnum_linux_arm.go | 0 .../x/sys/unix/zsysnum_linux_arm64.go | 0 .../x/sys/unix/zsysnum_linux_ppc64.go | 0 .../x/sys/unix/zsysnum_linux_ppc64le.go | 0 .../x/sys/unix/zsysnum_netbsd_386.go | 0 .../x/sys/unix/zsysnum_netbsd_amd64.go | 0 .../x/sys/unix/zsysnum_netbsd_arm.go | 0 .../x/sys/unix/zsysnum_openbsd_386.go | 0 .../x/sys/unix/zsysnum_openbsd_amd64.go | 0 .../x/sys/unix/zsysnum_solaris_amd64.go | 0 .../x/sys/unix/ztypes_darwin_386.go | 0 .../x/sys/unix/ztypes_darwin_amd64.go | 0 .../x/sys/unix/ztypes_darwin_arm.go | 0 .../x/sys/unix/ztypes_darwin_arm64.go | 0 .../x/sys/unix/ztypes_dragonfly_386.go | 0 .../x/sys/unix/ztypes_dragonfly_amd64.go | 0 .../x/sys/unix/ztypes_freebsd_386.go | 0 .../x/sys/unix/ztypes_freebsd_amd64.go | 0 .../x/sys/unix/ztypes_freebsd_arm.go | 0 .../golang.org/x/sys/unix/ztypes_linux_386.go | 0 .../x/sys/unix/ztypes_linux_amd64.go | 0 .../golang.org/x/sys/unix/ztypes_linux_arm.go | 0 .../x/sys/unix/ztypes_linux_arm64.go | 0 .../x/sys/unix/ztypes_linux_ppc64.go | 0 .../x/sys/unix/ztypes_linux_ppc64le.go | 0 .../x/sys/unix/ztypes_netbsd_386.go | 0 .../x/sys/unix/ztypes_netbsd_amd64.go | 0 .../x/sys/unix/ztypes_netbsd_arm.go | 0 .../x/sys/unix/ztypes_openbsd_386.go | 0 .../x/sys/unix/ztypes_openbsd_amd64.go | 0 .../x/sys/unix/ztypes_solaris_amd64.go | 0 vendor/golang.org/x/text/AUTHORS | 3 + vendor/golang.org/x/text/CONTRIBUTORS | 3 + .../src => vendor}/golang.org/x/text/LICENSE | 0 .../src => vendor}/golang.org/x/text/PATENTS | 0 .../golang.org/x/text/transform/transform.go | 0 .../x/text/unicode/norm/composition.go | 0 .../x/text/unicode/norm/forminfo.go | 0 .../golang.org/x/text/unicode/norm/input.go | 0 .../golang.org/x/text/unicode/norm/iter.go | 0 .../x/text/unicode/norm/maketables.go | 0 .../x/text/unicode/norm/normalize.go | 0 .../x/text/unicode/norm/readwriter.go | 0 .../golang.org/x/text/unicode/norm/tables.go | 0 .../x/text/unicode/norm/transform.go | 0 .../golang.org/x/text/unicode/norm/trie.go | 0 .../golang.org/x/text/unicode/norm/triegen.go | 0 .../google.golang.org/grpc/.travis.yml | 0 .../google.golang.org/grpc/CONTRIBUTING.md | 0 .../google.golang.org/grpc/LICENSE | 0 .../google.golang.org/grpc/Makefile | 0 .../google.golang.org/grpc/PATENTS | 0 .../google.golang.org/grpc/README.md | 0 .../google.golang.org/grpc/backoff.go | 0 .../google.golang.org/grpc/balancer.go | 0 .../google.golang.org/grpc/call.go | 0 .../google.golang.org/grpc/clientconn.go | 0 .../google.golang.org/grpc/codegen.sh | 0 .../grpc/codes/code_string.go | 0 .../google.golang.org/grpc/codes/codes.go | 0 .../google.golang.org/grpc/coverage.sh | 0 .../grpc/credentials/credentials.go | 0 .../grpc/credentials/credentials_util_go17.go | 0 .../credentials/credentials_util_pre_go17.go | 0 .../google.golang.org/grpc/doc.go | 0 .../google.golang.org/grpc/grpclog/logger.go | 0 .../google.golang.org/grpc/interceptor.go | 0 .../grpc/internal/internal.go | 0 .../grpc/metadata/metadata.go | 0 .../google.golang.org/grpc/naming/naming.go | 0 .../google.golang.org/grpc/peer/peer.go | 0 .../google.golang.org/grpc/rpc_util.go | 0 .../google.golang.org/grpc/server.go | 0 .../google.golang.org/grpc/stream.go | 0 .../google.golang.org/grpc/trace.go | 0 .../grpc/transport/control.go | 0 .../google.golang.org/grpc/transport/go16.go | 0 .../google.golang.org/grpc/transport/go17.go | 0 .../grpc/transport/handler_server.go | 0 .../grpc/transport/http2_client.go | 0 .../grpc/transport/http2_server.go | 0 .../grpc/transport/http_util.go | 0 .../grpc/transport/pre_go16.go | 0 .../grpc/transport/transport.go | 0 .../src => vendor}/gopkg.in/tomb.v2/LICENSE | 0 .../src => vendor}/gopkg.in/tomb.v2/README.md | 0 .../src => vendor}/gopkg.in/tomb.v2/tomb.go | 0 .../src => vendor}/gopkg.in/yaml.v2/LICENSE | 0 .../gopkg.in/yaml.v2/LICENSE.libyaml | 0 .../src => vendor}/gopkg.in/yaml.v2/README.md | 0 .../src => vendor}/gopkg.in/yaml.v2/apic.go | 0 .../src => vendor}/gopkg.in/yaml.v2/decode.go | 0 .../gopkg.in/yaml.v2/emitterc.go | 0 .../src => vendor}/gopkg.in/yaml.v2/encode.go | 0 .../gopkg.in/yaml.v2/parserc.go | 0 .../gopkg.in/yaml.v2/readerc.go | 0 .../gopkg.in/yaml.v2/resolve.go | 0 .../gopkg.in/yaml.v2/scannerc.go | 0 .../src => vendor}/gopkg.in/yaml.v2/sorter.go | 0 .../gopkg.in/yaml.v2/writerc.go | 0 .../src => vendor}/gopkg.in/yaml.v2/yaml.go | 0 .../src => vendor}/gopkg.in/yaml.v2/yamlh.go | 0 .../gopkg.in/yaml.v2/yamlprivateh.go | 0 797 files changed, 2544 insertions(+), 502 deletions(-) delete mode 100644 Godeps/_workspace/.gitignore delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_linux.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_unspecified.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netlink/route.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_386.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_amd64.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go delete mode 100644 Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_ppc64le.go rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/COMPATIBLE (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/COPYING (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/Makefile (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/decode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/decode_meta.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/encode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/encoding_types.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/encoding_types_1.1.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/parse.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/session.vim (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/type_check.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/BurntSushi/toml/type_fields.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/CHANGELOG.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/entry.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/exported.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/formatter.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/hooks.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/json_formatter.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/logger.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/logrus.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/terminal_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/terminal_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/terminal_notwindows.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/terminal_solaris.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/terminal_windows.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/text_formatter.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/Sirupsen/logrus/writer.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/armon/go-radix/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/armon/go-radix/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/armon/go-radix/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/armon/go-radix/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/armon/go-radix/radix.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/hub/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/hub/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/hub/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/hub/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/hub/hub.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/client.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/codec.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/jsonrpc/jsonrpc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/cenkalti/rpc2/server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/HACKING.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/Makefile (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/circle.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/client.go (95%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/fig.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/map.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/notation.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/row.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/rpc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/schema.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/set.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/contiv/libovsdb/uuid.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/CHANGELOG.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/batching_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/black_hole.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/channels.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/infinite_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/native_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/overflowing_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/resizable_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/ring_channel.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/channels/shared_buffer.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/queue/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/queue/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/queue/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/queue/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/eapache/queue/queue.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/AUTHORS (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/CHANGELOG.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/CONTRIBUTING.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/fen.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/fsnotify.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/inotify.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/inotify_poller.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/kqueue.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/open_mode_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/open_mode_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/fsnotify/fsnotify/windows.go (100%) create mode 100644 vendor/github.com/golang/protobuf/AUTHORS create mode 100644 vendor/github.com/golang/protobuf/CONTRIBUTORS rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/Makefile (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/clone.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/decode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/encode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/equal.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/extensions.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/lib.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/message_set.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/pointer_reflect.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/pointer_unsafe.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/properties.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/text.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/golang/protobuf/proto/text_parser.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/AUTHORS (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/CHANGELOG (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/CONTRIBUTING.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/README.mkd (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/base.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/decode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/flows.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/gc (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layerclass.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/arp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/base.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/cdp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ctp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/dns.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/dot11.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/dot1q.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/eap.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/eapol.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/endpoints.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/enums.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/etherip.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ethernet.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/fddi.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/gen.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/gre.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/iana_ports.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/icmp4.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/icmp6.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/igmp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ip4.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ip6.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ipsec.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/layertypes.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/linux_sll.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/llc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/lldp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/loopback.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/mpls.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ndp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/pflog.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ports.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/ppp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/pppoe.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/prism.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/radiotap.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/rudp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/sctp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/sflow.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/tcp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/tcpip.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/test_creator.py (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/udp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/udplite.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layers/usb.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/layertype.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/packet.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/parser.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/pcap.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/pcap_tester.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/test_dns.pcap (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/test_ethernet.pcap (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/pcap/test_loopback.pcap (100%) rename {Godeps/_workspace/src => vendor}/github.com/google/gopacket/writer.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/Makefile (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/decoder.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/ast/ast.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/ast/walk.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/parser/error.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/parser/parser.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/scanner/scanner.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/strconv/quote.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/token/position.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/hcl/token/token.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/json/parser/flatten.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/json/parser/parser.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/json/scanner/scanner.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/json/token/position.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/json/token/token.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/hashicorp/hcl/parse.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/LICENSE_OF_DEPENDENCIES.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/client/v2/client.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/models/consistency.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/models/points.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/models/rows.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/models/statistic.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/models/time.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/pkg/escape/bytes.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/influxdata/influxdb/pkg/escape/strings.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/CHANGELOG (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/LICENSE.txt (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/bitset.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/popcnt.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/popcnt_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/popcnt_asm.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/jainvipin/bitset/popcnt_generic.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/fs/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/fs/Readme (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/fs/filesystem.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/kr/fs/walk.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/CHANGELOG.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/decode.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/doc.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/lex.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/load.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/parser.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/properties.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/magiconair/properties/rangecheck.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/decode_hooks.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/error.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/mitchellh/mapstructure/mapstructure.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/api/gobgp.pb.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/api/gobgp.proto (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/api/grpc_server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/api/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/bgp_configs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/default.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/default_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/default_nonlinux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/serve.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/config/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/bgp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/bgpattrtype_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/bgpcapabilitycode_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/constant.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/esitype_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/fsmstate_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/helper.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bgp/validate.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/bmp/bmp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/mrt/mrt.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/packet/rtr/rtr.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/bmp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/collector.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/fsm.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/mrt.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/peer.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/rpki.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/sockopt.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/sockopt_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/sockopt_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/sockopt_openbsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/server/zclient.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/adj.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/destination.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/message.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/path.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/policy.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/table.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/table_manager.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/table/vrf.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/zebra/safi_string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/zebra/zapi.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/zebra/zapi_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/zebra/zapi_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/osrg/gobgp/zebra/zapi_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/appveyor.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/errors.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/errors/stack.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/CONTRIBUTORS (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/attrs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/attrs_stubs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/attrs_unix.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/client.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/conn.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/debug.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/packet.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/release.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_statvfs_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_statvfs_impl.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_statvfs_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_statvfs_stubs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_stubs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/server_unix.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/pkg/sftp/sftp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/satori/go.uuid/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/satori/go.uuid/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/satori/go.uuid/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/satori/go.uuid/uuid.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/common/header.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/action.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/flowmod.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/group.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/instruction.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/match.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/multipart.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/openflow13.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/openflow13/port.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/arp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/dhcp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/ethernet.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/icmp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/ip.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/lldp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/tcp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/protocol/udp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/util/stream.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/shaleman/libOpenflow/util/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/LICENSE.txt (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/afero.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/appveyor.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/basepath.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/cacheOnReadFs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/const_bsds.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/const_win_unix.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/copyOnWriteFs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/httpFs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/ioutil.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/mem/dir.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/mem/dirmap.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/mem/file.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/memmap.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/memradix.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/os.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/path.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/readonlyfs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/regexpfs.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/sftp.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/sftp/file.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/sftp_test_go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/unionFile.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/afero/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/cast/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/cast/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/cast/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/cast/cast.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/cast/caste.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/jwalterweatherman/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/jwalterweatherman/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/jwalterweatherman/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/jwalterweatherman/thatswhyyoualwaysleaveanote.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/bool.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/count.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/duration.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/flag.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/float32.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/float64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/golangflag.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/int.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/int32.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/int64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/int8.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/int_slice.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/ip.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/ipmask.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/ipnet.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/string.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/string_slice.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/uint.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/uint16.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/uint32.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/uint64.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/pflag/uint8.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/flags.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/nohup.out (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/util.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/spf13/viper/viper.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/streamrail/concurrent-map/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/streamrail/concurrent-map/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/streamrail/concurrent-map/concurrent_map.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/streamrail/concurrent-map/concurrent_map_template.txt (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/Makefile (93%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/README.md (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/addr.go (77%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/addr_linux.go (82%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/bpf_linux.go (80%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/class.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/class_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/filter.go (98%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/filter_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/handle_linux.go (75%) create mode 100644 vendor/github.com/vishvananda/netlink/handle_unspecified.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/link.go (76%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/link_linux.go (81%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/link_tuntap_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/neigh.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/neigh_linux.go (85%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/netlink.go (87%) create mode 100644 vendor/github.com/vishvananda/netlink/netlink_linux.go create mode 100644 vendor/github.com/vishvananda/netlink/netlink_unspecified.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/addr_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/link_linux.go (86%) create mode 100644 vendor/github.com/vishvananda/netlink/nl/mpls_linux.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/nl_linux.go (68%) create mode 100644 vendor/github.com/vishvananda/netlink/nl/nl_unspecified.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/route_linux.go (58%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/syscall.go (64%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/tc_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/xfrm_linux.go (80%) create mode 100644 vendor/github.com/vishvananda/netlink/nl/xfrm_monitor_linux.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/xfrm_policy_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/nl/xfrm_state_linux.go (68%) create mode 100644 vendor/github.com/vishvananda/netlink/order.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/protinfo.go (94%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/protinfo_linux.go (61%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/qdisc.go (98%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/qdisc_linux.go (95%) create mode 100644 vendor/github.com/vishvananda/netlink/route.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/route_linux.go (61%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/route_unspecified.go (58%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/rule.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/rule_linux.go (96%) create mode 100644 vendor/github.com/vishvananda/netlink/socket.go create mode 100644 vendor/github.com/vishvananda/netlink/socket_linux.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/xfrm.go (100%) create mode 100644 vendor/github.com/vishvananda/netlink/xfrm_monitor_linux.go rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/xfrm_policy.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/xfrm_policy_linux.go (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/xfrm_state.go (84%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netlink/xfrm_state_linux.go (79%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netns/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netns/README.md (89%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netns/netns.go (82%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netns/netns_linux.go (88%) rename {Godeps/_workspace/src => vendor}/github.com/vishvananda/netns/netns_unspecified.go (76%) create mode 100644 vendor/golang.org/x/crypto/AUTHORS create mode 100644 vendor/golang.org/x/crypto/CONTRIBUTORS rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/PATENTS (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/buffer.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/certs.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/channel.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/cipher.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/client.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/client_auth.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/common.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/connection.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/doc.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/handshake.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/kex.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/keys.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/mac.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/messages.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/mux.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/server.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/session.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/tcpip.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/crypto/ssh/transport.go (100%) create mode 100644 vendor/golang.org/x/net/AUTHORS create mode 100644 vendor/golang.org/x/net/CONTRIBUTORS rename {Godeps/_workspace/src => vendor}/golang.org/x/net/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/PATENTS (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/context/context.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/context/go17.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/context/pre_go17.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/Dockerfile (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/Makefile (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/README (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/client_conn_pool.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/configure_transport.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/errors.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/fixed_buffer.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/flow.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/frame.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/go16.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/go17.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/gotrack.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/headermap.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/hpack/encode.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/hpack/hpack.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/hpack/huffman.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/hpack/tables.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/http2.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/not_go16.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/not_go17.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/pipe.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/server.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/transport.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/write.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/http2/writesched.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/internal/timeseries/timeseries.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/lex/httplex/httplex.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/trace/events.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/trace/histogram.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/net/trace/trace.go (100%) create mode 100644 vendor/golang.org/x/sys/AUTHORS create mode 100644 vendor/golang.org/x/sys/CONTRIBUTORS rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/PATENTS (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/.gitignore (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_darwin_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_darwin_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_darwin_arm.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_darwin_arm64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_dragonfly_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_dragonfly_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_freebsd_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_freebsd_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_freebsd_arm.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_linux_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_linux_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_linux_arm.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_linux_arm64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_linux_ppc64x.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_netbsd_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_netbsd_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_netbsd_arm.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_openbsd_386.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_openbsd_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/asm_solaris_amd64.s (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/constants.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/env_unix.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/env_unset.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/flock.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/flock_linux_32bit.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/gccgo.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/gccgo_c.c (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/gccgo_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mkall.sh (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mkerrors.sh (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksyscall.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksyscall_solaris.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysctl_openbsd.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_darwin.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_dragonfly.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_freebsd.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_linux.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_netbsd.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/mksysnum_openbsd.pl (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/race.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/race0.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/sockcmsg_linux.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/sockcmsg_unix.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/str.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_bsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_darwin_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_darwin_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_darwin_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_darwin_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_dragonfly.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_dragonfly_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_dragonfly_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_freebsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_linux_ppc64x.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_netbsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_netbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_netbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_netbsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_no_getwd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_openbsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_openbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_openbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_solaris.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_solaris_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/syscall_unix.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_darwin.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_dragonfly.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_freebsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_linux.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_netbsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_openbsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/types_solaris.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_darwin_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_darwin_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_darwin_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_darwin_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_dragonfly_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_ppc64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_linux_ppc64le.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_netbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_netbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_netbsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_openbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_openbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zerrors_solaris_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_darwin_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_darwin_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_darwin_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_darwin_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_dragonfly_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_ppc64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_netbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_netbsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_openbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsyscall_solaris_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysctl_openbsd.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_darwin_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_darwin_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_darwin_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_darwin_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_dragonfly_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_ppc64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_netbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_netbsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_openbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/zsysnum_solaris_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_darwin_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_darwin_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_darwin_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_darwin_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_dragonfly_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_freebsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_freebsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_freebsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_arm64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_ppc64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_linux_ppc64le.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_netbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_netbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_netbsd_arm.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_openbsd_386.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_openbsd_amd64.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/sys/unix/ztypes_solaris_amd64.go (100%) create mode 100644 vendor/golang.org/x/text/AUTHORS create mode 100644 vendor/golang.org/x/text/CONTRIBUTORS rename {Godeps/_workspace/src => vendor}/golang.org/x/text/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/PATENTS (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/transform/transform.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/composition.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/forminfo.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/input.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/iter.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/maketables.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/normalize.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/readwriter.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/tables.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/transform.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/trie.go (100%) rename {Godeps/_workspace/src => vendor}/golang.org/x/text/unicode/norm/triegen.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/.travis.yml (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/CONTRIBUTING.md (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/Makefile (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/PATENTS (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/README.md (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/backoff.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/balancer.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/call.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/clientconn.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/codegen.sh (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/codes/code_string.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/codes/codes.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/coverage.sh (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/credentials/credentials.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/credentials/credentials_util_go17.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/credentials/credentials_util_pre_go17.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/doc.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/grpclog/logger.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/interceptor.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/internal/internal.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/metadata/metadata.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/naming/naming.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/peer/peer.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/rpc_util.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/server.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/stream.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/trace.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/control.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/go16.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/go17.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/handler_server.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/http2_client.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/http2_server.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/http_util.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/pre_go16.go (100%) rename {Godeps/_workspace/src => vendor}/google.golang.org/grpc/transport/transport.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/tomb.v2/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/tomb.v2/README.md (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/tomb.v2/tomb.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/LICENSE (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/LICENSE.libyaml (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/README.md (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/apic.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/decode.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/emitterc.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/encode.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/parserc.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/readerc.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/resolve.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/scannerc.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/sorter.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/writerc.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/yaml.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/yamlh.go (100%) rename {Godeps/_workspace/src => vendor}/gopkg.in/yaml.v2/yamlprivateh.go (100%) diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 0aa6efb9..8ef2b95e 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -1,7 +1,7 @@ { "ImportPath": "github.com/contiv/ofnet", - "GoVersion": "go1.6", - "GodepVersion": "v74", + "GoVersion": "go1.7", + "GodepVersion": "v79", "Packages": [ "./..." ], @@ -35,8 +35,8 @@ }, { "ImportPath": "github.com/contiv/libovsdb", - "Comment": "v0.1-10-gb5d4dd4", - "Rev": "b5d4dd420f593267b1a699020a7387b35b891efc" + "Comment": "v0.1-12-gd0061a5", + "Rev": "d0061a53e3588f553e0f56090d1b8d950746eff4" }, { "ImportPath": "github.com/eapache/channels", @@ -249,15 +249,15 @@ }, { "ImportPath": "github.com/vishvananda/netlink", - "Rev": "77483a0e697ebcc2584461e9624b611767e7d203" + "Rev": "fe3b5664d23a11b52ba59bece4ff29c52772a56b" }, { "ImportPath": "github.com/vishvananda/netlink/nl", - "Rev": "77483a0e697ebcc2584461e9624b611767e7d203" + "Rev": "fe3b5664d23a11b52ba59bece4ff29c52772a56b" }, { "ImportPath": "github.com/vishvananda/netns", - "Rev": "493029407eeb434d0c2d44e02ea072ff2488d322" + "Rev": "54f0e4339ce73702a0607f49922aaa1e749b418d" }, { "ImportPath": "golang.org/x/crypto/ssh", @@ -275,10 +275,6 @@ "ImportPath": "golang.org/x/net/http2/hpack", "Rev": "075e191f18186a8ff2becaf64478e30f4545cdad" }, - { - "ImportPath": "golang.org/x/net/http2/hpack", - "Rev": "195180cfebf7362bd243a52477697895128c8777" - }, { "ImportPath": "golang.org/x/net/internal/timeseries", "Rev": "075e191f18186a8ff2becaf64478e30f4545cdad" @@ -310,22 +306,6 @@ }, { "ImportPath": "google.golang.org/grpc/codes", - "Rev": "a202995ce9a99c7d65875ba9f0cf04ff43169dd5" - }, - { - "ImportPath": "google.golang.org/grpc/credentials", - "Rev": "a202995ce9a99c7d65875ba9f0cf04ff43169dd5" - }, - { - "ImportPath": "google.golang.org/grpc/grpclog", - "Rev": "a202995ce9a99c7d65875ba9f0cf04ff43169dd5" - }, - { - "ImportPath": "google.golang.org/grpc/metadata", - "Rev": "a202995ce9a99c7d65875ba9f0cf04ff43169dd5" - }, - { - "ImportPath": "google.golang.org/grpc/transport", "Comment": "v1.0.0-164-gedc5ccf", "Rev": "edc5ccf8cbfd321723e26d2cf177b05c16132ad9" }, diff --git a/Godeps/_workspace/.gitignore b/Godeps/_workspace/.gitignore deleted file mode 100644 index f037d684..00000000 --- a/Godeps/_workspace/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/pkg -/bin diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_linux.go b/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_linux.go deleted file mode 100644 index 32d8537e..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_linux.go +++ /dev/null @@ -1,10 +0,0 @@ -package netlink - -import "github.com/vishvananda/netlink/nl" - -// Family type definitions -const ( - FAMILY_ALL = nl.FAMILY_ALL - FAMILY_V4 = nl.FAMILY_V4 - FAMILY_V6 = nl.FAMILY_V6 -) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_unspecified.go b/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_unspecified.go deleted file mode 100644 index 9ad7a628..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink_unspecified.go +++ /dev/null @@ -1,143 +0,0 @@ -// +build !linux - -package netlink - -import ( - "errors" -) - -var ( - ErrNotImplemented = errors.New("not implemented") -) - -func LinkSetUp(link *Link) error { - return ErrNotImplemented -} - -func LinkSetDown(link *Link) error { - return ErrNotImplemented -} - -func LinkSetMTU(link *Link, mtu int) error { - return ErrNotImplemented -} - -func LinkSetMaster(link *Link, master *Link) error { - return ErrNotImplemented -} - -func LinkSetNsPid(link *Link, nspid int) error { - return ErrNotImplemented -} - -func LinkSetNsFd(link *Link, fd int) error { - return ErrNotImplemented -} - -func LinkAdd(link *Link) error { - return ErrNotImplemented -} - -func LinkDel(link *Link) error { - return ErrNotImplemented -} - -func SetHairpin(link Link, mode bool) error { - return ErrNotImplemented -} - -func SetGuard(link Link, mode bool) error { - return ErrNotImplemented -} - -func SetFastLeave(link Link, mode bool) error { - return ErrNotImplemented -} - -func SetLearning(link Link, mode bool) error { - return ErrNotImplemented -} - -func SetRootBlock(link Link, mode bool) error { - return ErrNotImplemented -} - -func SetFlood(link Link, mode bool) error { - return ErrNotImplemented -} - -func LinkList() ([]Link, error) { - return nil, ErrNotImplemented -} - -func AddrAdd(link *Link, addr *Addr) error { - return ErrNotImplemented -} - -func AddrDel(link *Link, addr *Addr) error { - return ErrNotImplemented -} - -func AddrList(link *Link, family int) ([]Addr, error) { - return nil, ErrNotImplemented -} - -func RouteAdd(route *Route) error { - return ErrNotImplemented -} - -func RouteDel(route *Route) error { - return ErrNotImplemented -} - -func RouteList(link *Link, family int) ([]Route, error) { - return nil, ErrNotImplemented -} - -func XfrmPolicyAdd(policy *XfrmPolicy) error { - return ErrNotImplemented -} - -func XfrmPolicyDel(policy *XfrmPolicy) error { - return ErrNotImplemented -} - -func XfrmPolicyList(family int) ([]XfrmPolicy, error) { - return nil, ErrNotImplemented -} - -func XfrmStateAdd(policy *XfrmState) error { - return ErrNotImplemented -} - -func XfrmStateDel(policy *XfrmState) error { - return ErrNotImplemented -} - -func XfrmStateList(family int) ([]XfrmState, error) { - return nil, ErrNotImplemented -} - -func NeighAdd(neigh *Neigh) error { - return ErrNotImplemented -} - -func NeighSet(neigh *Neigh) error { - return ErrNotImplemented -} - -func NeighAppend(neigh *Neigh) error { - return ErrNotImplemented -} - -func NeighDel(neigh *Neigh) error { - return ErrNotImplemented -} - -func NeighList(linkIndex, family int) ([]Neigh, error) { - return nil, ErrNotImplemented -} - -func NeighDeserialize(m []byte) (*Neigh, error) { - return nil, ErrNotImplemented -} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/route.go b/Godeps/_workspace/src/github.com/vishvananda/netlink/route.go deleted file mode 100644 index 61cf5ec5..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/route.go +++ /dev/null @@ -1,66 +0,0 @@ -package netlink - -import ( - "fmt" - "net" -) - -// Scope is an enum representing a route scope. -type Scope uint8 - -type NextHopFlag int - -// Route represents a netlink route. -type Route struct { - LinkIndex int - ILinkIndex int - Scope Scope - Dst *net.IPNet - Src net.IP - Gw net.IP - MultiPath []*NexthopInfo - Protocol int - Priority int - Table int - Type int - Tos int - Flags int -} - -func (r Route) String() string { - if len(r.MultiPath) > 0 { - return fmt.Sprintf("{Dst: %s Src: %s Gw: %s Flags: %s Table: %d}", r.Dst, - r.Src, r.MultiPath, r.ListFlags(), r.Table) - } - return fmt.Sprintf("{Ifindex: %d Dst: %s Src: %s Gw: %s Flags: %s Table: %d}", r.LinkIndex, r.Dst, - r.Src, r.Gw, r.ListFlags(), r.Table) -} - -func (r *Route) SetFlag(flag NextHopFlag) { - r.Flags |= int(flag) -} - -func (r *Route) ClearFlag(flag NextHopFlag) { - r.Flags &^= int(flag) -} - -type flagString struct { - f NextHopFlag - s string -} - -// RouteUpdate is sent when a route changes - type is RTM_NEWROUTE or RTM_DELROUTE -type RouteUpdate struct { - Type uint16 - Route -} - -type NexthopInfo struct { - LinkIndex int - Hops int - Gw net.IP -} - -func (n *NexthopInfo) String() string { - return fmt.Sprintf("{Ifindex: %d Weight: %d, Gw: %s}", n.LinkIndex, n.Hops+1, n.Gw) -} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_386.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_386.go deleted file mode 100644 index 1d769bb1..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_386.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build linux,386 - -package netns - -const ( - SYS_SETNS = 346 -) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_amd64.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_amd64.go deleted file mode 100644 index b124666f..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_amd64.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build linux,amd64 - -package netns - -const ( - SYS_SETNS = 308 -) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go deleted file mode 100644 index 9c74eb55..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build linux,arm - -package netns - -const ( - SYS_SETNS = 375 -) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go deleted file mode 100644 index 741a3020..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_arm64.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build linux,arm64 - -package netns - -const ( - SYS_SETNS = 268 -) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_ppc64le.go b/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_ppc64le.go deleted file mode 100644 index c49eba5e..00000000 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux_ppc64le.go +++ /dev/null @@ -1,7 +0,0 @@ -// +build linux,ppc64le - -package netns - -const ( - SYS_SETNS = 350 -) diff --git a/Makefile b/Makefile index 7cb5abf1..c28e3fdd 100755 --- a/Makefile +++ b/Makefile @@ -20,9 +20,9 @@ test: build host-build: ./checks "./*.go ./libpkt/ ./ofctrl/ ./ovsdbDriver/ ./ovsSwitch/ ./pqueue/ ./rpcHub/" go get github.com/tools/godep - godep go install ./ ./ofctrl + go install ./ ./ofctrl host-test: - sudo -E PATH=$(PATH) /opt/gopath/bin/godep go test -v ./ - sudo -E PATH=$(PATH) /opt/gopath/bin/godep go test -v ./ofctrl - sudo -E PATH=$(PATH) /opt/gopath/bin/godep go test -v ./pqueue + PATH=${PATH} sudo -E /usr/local/go/bin/go test -v ./ + PATH=${PATH} sudo -E /usr/local/go/bin/go test -v ./ofctrl + PATH=${PATH} sudo -E /usr/local/go/bin/go test -v ./pfqueue diff --git a/Vagrantfile b/Vagrantfile index 7044005b..94628ed2 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -45,8 +45,8 @@ SCRIPT VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - config.vm.box = "contiv/centos72" - config.vm.box_version = "0.7.0" + config.vm.box = "contiv/centos73" + config.vm.box_version = "0.10.0" config.vm.provider 'virtualbox' do |v| v.linked_clone = true if Vagrant::VERSION >= "1.8.0" end diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore b/vendor/github.com/BurntSushi/toml/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/.gitignore rename to vendor/github.com/BurntSushi/toml/.gitignore diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml b/vendor/github.com/BurntSushi/toml/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/.travis.yml rename to vendor/github.com/BurntSushi/toml/.travis.yml diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE b/vendor/github.com/BurntSushi/toml/COMPATIBLE similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/COMPATIBLE rename to vendor/github.com/BurntSushi/toml/COMPATIBLE diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING b/vendor/github.com/BurntSushi/toml/COPYING similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/COPYING rename to vendor/github.com/BurntSushi/toml/COPYING diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile b/vendor/github.com/BurntSushi/toml/Makefile similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/Makefile rename to vendor/github.com/BurntSushi/toml/Makefile diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/README.md b/vendor/github.com/BurntSushi/toml/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/README.md rename to vendor/github.com/BurntSushi/toml/README.md diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go b/vendor/github.com/BurntSushi/toml/decode.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/decode.go rename to vendor/github.com/BurntSushi/toml/decode.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go b/vendor/github.com/BurntSushi/toml/decode_meta.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/decode_meta.go rename to vendor/github.com/BurntSushi/toml/decode_meta.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/doc.go b/vendor/github.com/BurntSushi/toml/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/doc.go rename to vendor/github.com/BurntSushi/toml/doc.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/encode.go b/vendor/github.com/BurntSushi/toml/encode.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/encode.go rename to vendor/github.com/BurntSushi/toml/encode.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/encoding_types.go b/vendor/github.com/BurntSushi/toml/encoding_types.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/encoding_types.go rename to vendor/github.com/BurntSushi/toml/encoding_types.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/encoding_types_1.1.go b/vendor/github.com/BurntSushi/toml/encoding_types_1.1.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/encoding_types_1.1.go rename to vendor/github.com/BurntSushi/toml/encoding_types_1.1.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/lex.go b/vendor/github.com/BurntSushi/toml/lex.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/lex.go rename to vendor/github.com/BurntSushi/toml/lex.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/parse.go b/vendor/github.com/BurntSushi/toml/parse.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/parse.go rename to vendor/github.com/BurntSushi/toml/parse.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/session.vim b/vendor/github.com/BurntSushi/toml/session.vim similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/session.vim rename to vendor/github.com/BurntSushi/toml/session.vim diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/type_check.go b/vendor/github.com/BurntSushi/toml/type_check.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/type_check.go rename to vendor/github.com/BurntSushi/toml/type_check.go diff --git a/Godeps/_workspace/src/github.com/BurntSushi/toml/type_fields.go b/vendor/github.com/BurntSushi/toml/type_fields.go similarity index 100% rename from Godeps/_workspace/src/github.com/BurntSushi/toml/type_fields.go rename to vendor/github.com/BurntSushi/toml/type_fields.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/.gitignore b/vendor/github.com/Sirupsen/logrus/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/.gitignore rename to vendor/github.com/Sirupsen/logrus/.gitignore diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/.travis.yml b/vendor/github.com/Sirupsen/logrus/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/.travis.yml rename to vendor/github.com/Sirupsen/logrus/.travis.yml diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/CHANGELOG.md b/vendor/github.com/Sirupsen/logrus/CHANGELOG.md similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/CHANGELOG.md rename to vendor/github.com/Sirupsen/logrus/CHANGELOG.md diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/LICENSE b/vendor/github.com/Sirupsen/logrus/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/LICENSE rename to vendor/github.com/Sirupsen/logrus/LICENSE diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/README.md b/vendor/github.com/Sirupsen/logrus/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/README.md rename to vendor/github.com/Sirupsen/logrus/README.md diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/doc.go b/vendor/github.com/Sirupsen/logrus/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/doc.go rename to vendor/github.com/Sirupsen/logrus/doc.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/entry.go b/vendor/github.com/Sirupsen/logrus/entry.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/entry.go rename to vendor/github.com/Sirupsen/logrus/entry.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/exported.go b/vendor/github.com/Sirupsen/logrus/exported.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/exported.go rename to vendor/github.com/Sirupsen/logrus/exported.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/formatter.go b/vendor/github.com/Sirupsen/logrus/formatter.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/formatter.go rename to vendor/github.com/Sirupsen/logrus/formatter.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/hooks.go b/vendor/github.com/Sirupsen/logrus/hooks.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/hooks.go rename to vendor/github.com/Sirupsen/logrus/hooks.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/json_formatter.go b/vendor/github.com/Sirupsen/logrus/json_formatter.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/json_formatter.go rename to vendor/github.com/Sirupsen/logrus/json_formatter.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/logger.go b/vendor/github.com/Sirupsen/logrus/logger.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/logger.go rename to vendor/github.com/Sirupsen/logrus/logger.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/logrus.go b/vendor/github.com/Sirupsen/logrus/logrus.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/logrus.go rename to vendor/github.com/Sirupsen/logrus/logrus.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_bsd.go b/vendor/github.com/Sirupsen/logrus/terminal_bsd.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_bsd.go rename to vendor/github.com/Sirupsen/logrus/terminal_bsd.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_linux.go b/vendor/github.com/Sirupsen/logrus/terminal_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_linux.go rename to vendor/github.com/Sirupsen/logrus/terminal_linux.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_notwindows.go b/vendor/github.com/Sirupsen/logrus/terminal_notwindows.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_notwindows.go rename to vendor/github.com/Sirupsen/logrus/terminal_notwindows.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_solaris.go b/vendor/github.com/Sirupsen/logrus/terminal_solaris.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_solaris.go rename to vendor/github.com/Sirupsen/logrus/terminal_solaris.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_windows.go b/vendor/github.com/Sirupsen/logrus/terminal_windows.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/terminal_windows.go rename to vendor/github.com/Sirupsen/logrus/terminal_windows.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter.go b/vendor/github.com/Sirupsen/logrus/text_formatter.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter.go rename to vendor/github.com/Sirupsen/logrus/text_formatter.go diff --git a/Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go b/vendor/github.com/Sirupsen/logrus/writer.go similarity index 100% rename from Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go rename to vendor/github.com/Sirupsen/logrus/writer.go diff --git a/Godeps/_workspace/src/github.com/armon/go-radix/.gitignore b/vendor/github.com/armon/go-radix/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/armon/go-radix/.gitignore rename to vendor/github.com/armon/go-radix/.gitignore diff --git a/Godeps/_workspace/src/github.com/armon/go-radix/.travis.yml b/vendor/github.com/armon/go-radix/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/armon/go-radix/.travis.yml rename to vendor/github.com/armon/go-radix/.travis.yml diff --git a/Godeps/_workspace/src/github.com/armon/go-radix/LICENSE b/vendor/github.com/armon/go-radix/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/armon/go-radix/LICENSE rename to vendor/github.com/armon/go-radix/LICENSE diff --git a/Godeps/_workspace/src/github.com/armon/go-radix/README.md b/vendor/github.com/armon/go-radix/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/armon/go-radix/README.md rename to vendor/github.com/armon/go-radix/README.md diff --git a/Godeps/_workspace/src/github.com/armon/go-radix/radix.go b/vendor/github.com/armon/go-radix/radix.go similarity index 100% rename from Godeps/_workspace/src/github.com/armon/go-radix/radix.go rename to vendor/github.com/armon/go-radix/radix.go diff --git a/Godeps/_workspace/src/github.com/cenkalti/hub/.gitignore b/vendor/github.com/cenkalti/hub/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/hub/.gitignore rename to vendor/github.com/cenkalti/hub/.gitignore diff --git a/Godeps/_workspace/src/github.com/cenkalti/hub/.travis.yml b/vendor/github.com/cenkalti/hub/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/hub/.travis.yml rename to vendor/github.com/cenkalti/hub/.travis.yml diff --git a/Godeps/_workspace/src/github.com/cenkalti/hub/LICENSE b/vendor/github.com/cenkalti/hub/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/hub/LICENSE rename to vendor/github.com/cenkalti/hub/LICENSE diff --git a/Godeps/_workspace/src/github.com/cenkalti/hub/README.md b/vendor/github.com/cenkalti/hub/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/hub/README.md rename to vendor/github.com/cenkalti/hub/README.md diff --git a/Godeps/_workspace/src/github.com/cenkalti/hub/hub.go b/vendor/github.com/cenkalti/hub/hub.go similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/hub/hub.go rename to vendor/github.com/cenkalti/hub/hub.go diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/.gitignore b/vendor/github.com/cenkalti/rpc2/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/.gitignore rename to vendor/github.com/cenkalti/rpc2/.gitignore diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/.travis.yml b/vendor/github.com/cenkalti/rpc2/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/.travis.yml rename to vendor/github.com/cenkalti/rpc2/.travis.yml diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/LICENSE b/vendor/github.com/cenkalti/rpc2/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/LICENSE rename to vendor/github.com/cenkalti/rpc2/LICENSE diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/README.md b/vendor/github.com/cenkalti/rpc2/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/README.md rename to vendor/github.com/cenkalti/rpc2/README.md diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/client.go b/vendor/github.com/cenkalti/rpc2/client.go similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/client.go rename to vendor/github.com/cenkalti/rpc2/client.go diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/codec.go b/vendor/github.com/cenkalti/rpc2/codec.go similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/codec.go rename to vendor/github.com/cenkalti/rpc2/codec.go diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/jsonrpc/jsonrpc.go b/vendor/github.com/cenkalti/rpc2/jsonrpc/jsonrpc.go similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/jsonrpc/jsonrpc.go rename to vendor/github.com/cenkalti/rpc2/jsonrpc/jsonrpc.go diff --git a/Godeps/_workspace/src/github.com/cenkalti/rpc2/server.go b/vendor/github.com/cenkalti/rpc2/server.go similarity index 100% rename from Godeps/_workspace/src/github.com/cenkalti/rpc2/server.go rename to vendor/github.com/cenkalti/rpc2/server.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/.gitignore b/vendor/github.com/contiv/libovsdb/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/.gitignore rename to vendor/github.com/contiv/libovsdb/.gitignore diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/HACKING.md b/vendor/github.com/contiv/libovsdb/HACKING.md similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/HACKING.md rename to vendor/github.com/contiv/libovsdb/HACKING.md diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/LICENSE b/vendor/github.com/contiv/libovsdb/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/LICENSE rename to vendor/github.com/contiv/libovsdb/LICENSE diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/Makefile b/vendor/github.com/contiv/libovsdb/Makefile similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/Makefile rename to vendor/github.com/contiv/libovsdb/Makefile diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/README.md b/vendor/github.com/contiv/libovsdb/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/README.md rename to vendor/github.com/contiv/libovsdb/README.md diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/circle.yml b/vendor/github.com/contiv/libovsdb/circle.yml similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/circle.yml rename to vendor/github.com/contiv/libovsdb/circle.yml diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/client.go b/vendor/github.com/contiv/libovsdb/client.go similarity index 95% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/client.go rename to vendor/github.com/contiv/libovsdb/client.go index 9fcb0b31..da4c10f5 100644 --- a/Godeps/_workspace/src/github.com/contiv/libovsdb/client.go +++ b/vendor/github.com/contiv/libovsdb/client.go @@ -20,15 +20,15 @@ type OvsdbClient struct { func newOvsdbClient(c *rpc2.Client) *OvsdbClient { ovs := &OvsdbClient{rpcClient: c, Schema: make(map[string]DatabaseSchema)} connectionsMutex.Lock() + defer connectionsMutex.Unlock() connections[c] = ovs - connectionsMutex.Unlock() return ovs } // Would rather replace this connection map with an OvsdbClient Receiver scoped method // Unfortunately rpc2 package acts wierd with a receiver scoped method and needs some investigation. var connections map[*rpc2.Client]*OvsdbClient = make(map[*rpc2.Client]*OvsdbClient) -var connectionsMutex sync.Mutex +var connectionsMutex sync.RWMutex const DEFAULT_ADDR = "127.0.0.1" const DEFAULT_PORT = 6640 @@ -90,6 +90,8 @@ func Connect(ipAddr string, port int) (*OvsdbClient, error) { } func (ovs *OvsdbClient) Register(handler NotificationHandler) { + connectionsMutex.Lock() + defer connectionsMutex.Unlock() ovs.handlers = append(ovs.handlers, handler) } @@ -110,13 +112,13 @@ type NotificationHandler interface { // RFC 7047 : Section 4.1.6 : Echo func echo(client *rpc2.Client, args []interface{}, reply *[]interface{}) error { *reply = args - connectionsMutex.Lock() + connectionsMutex.RLock() + defer connectionsMutex.RUnlock() if _, ok := connections[client]; ok { for _, handler := range connections[client].handlers { handler.Echo(nil) } } - connectionsMutex.Unlock() return nil } @@ -145,13 +147,13 @@ func update(client *rpc2.Client, params []interface{}, reply *interface{}) error // Update the local DB cache with the tableUpdates tableUpdates := getTableUpdatesFromRawUnmarshal(rowUpdates) - connectionsMutex.Lock() + connectionsMutex.RLock() + defer connectionsMutex.RUnlock() if _, ok := connections[client]; ok { for _, handler := range connections[client].handlers { handler.Update(params, tableUpdates) } } - connectionsMutex.Unlock() return nil } @@ -252,16 +254,14 @@ func getTableUpdatesFromRawUnmarshal(raw map[string]map[string]RowUpdate) TableU func clearConnection(c *rpc2.Client) { connectionsMutex.Lock() + defer connectionsMutex.Unlock() delete(connections, c) - connectionsMutex.Unlock() } func handleDisconnectNotification(c *rpc2.Client) { disconnected := c.DisconnectNotify() - select { - case <-disconnected: - clearConnection(c) - } + <-disconnected + clearConnection(c) } func (ovs OvsdbClient) Disconnect() { diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/fig.yml b/vendor/github.com/contiv/libovsdb/fig.yml similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/fig.yml rename to vendor/github.com/contiv/libovsdb/fig.yml diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/map.go b/vendor/github.com/contiv/libovsdb/map.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/map.go rename to vendor/github.com/contiv/libovsdb/map.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/notation.go b/vendor/github.com/contiv/libovsdb/notation.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/notation.go rename to vendor/github.com/contiv/libovsdb/notation.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/row.go b/vendor/github.com/contiv/libovsdb/row.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/row.go rename to vendor/github.com/contiv/libovsdb/row.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/rpc.go b/vendor/github.com/contiv/libovsdb/rpc.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/rpc.go rename to vendor/github.com/contiv/libovsdb/rpc.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/schema.go b/vendor/github.com/contiv/libovsdb/schema.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/schema.go rename to vendor/github.com/contiv/libovsdb/schema.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/set.go b/vendor/github.com/contiv/libovsdb/set.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/set.go rename to vendor/github.com/contiv/libovsdb/set.go diff --git a/Godeps/_workspace/src/github.com/contiv/libovsdb/uuid.go b/vendor/github.com/contiv/libovsdb/uuid.go similarity index 100% rename from Godeps/_workspace/src/github.com/contiv/libovsdb/uuid.go rename to vendor/github.com/contiv/libovsdb/uuid.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/.gitignore b/vendor/github.com/eapache/channels/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/.gitignore rename to vendor/github.com/eapache/channels/.gitignore diff --git a/Godeps/_workspace/src/github.com/eapache/channels/.travis.yml b/vendor/github.com/eapache/channels/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/.travis.yml rename to vendor/github.com/eapache/channels/.travis.yml diff --git a/Godeps/_workspace/src/github.com/eapache/channels/CHANGELOG.md b/vendor/github.com/eapache/channels/CHANGELOG.md similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/CHANGELOG.md rename to vendor/github.com/eapache/channels/CHANGELOG.md diff --git a/Godeps/_workspace/src/github.com/eapache/channels/LICENSE b/vendor/github.com/eapache/channels/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/LICENSE rename to vendor/github.com/eapache/channels/LICENSE diff --git a/Godeps/_workspace/src/github.com/eapache/channels/README.md b/vendor/github.com/eapache/channels/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/README.md rename to vendor/github.com/eapache/channels/README.md diff --git a/Godeps/_workspace/src/github.com/eapache/channels/batching_channel.go b/vendor/github.com/eapache/channels/batching_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/batching_channel.go rename to vendor/github.com/eapache/channels/batching_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/black_hole.go b/vendor/github.com/eapache/channels/black_hole.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/black_hole.go rename to vendor/github.com/eapache/channels/black_hole.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/channels.go b/vendor/github.com/eapache/channels/channels.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/channels.go rename to vendor/github.com/eapache/channels/channels.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/infinite_channel.go b/vendor/github.com/eapache/channels/infinite_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/infinite_channel.go rename to vendor/github.com/eapache/channels/infinite_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/native_channel.go b/vendor/github.com/eapache/channels/native_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/native_channel.go rename to vendor/github.com/eapache/channels/native_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/overflowing_channel.go b/vendor/github.com/eapache/channels/overflowing_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/overflowing_channel.go rename to vendor/github.com/eapache/channels/overflowing_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/resizable_channel.go b/vendor/github.com/eapache/channels/resizable_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/resizable_channel.go rename to vendor/github.com/eapache/channels/resizable_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/ring_channel.go b/vendor/github.com/eapache/channels/ring_channel.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/ring_channel.go rename to vendor/github.com/eapache/channels/ring_channel.go diff --git a/Godeps/_workspace/src/github.com/eapache/channels/shared_buffer.go b/vendor/github.com/eapache/channels/shared_buffer.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/channels/shared_buffer.go rename to vendor/github.com/eapache/channels/shared_buffer.go diff --git a/Godeps/_workspace/src/github.com/eapache/queue/.gitignore b/vendor/github.com/eapache/queue/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/queue/.gitignore rename to vendor/github.com/eapache/queue/.gitignore diff --git a/Godeps/_workspace/src/github.com/eapache/queue/.travis.yml b/vendor/github.com/eapache/queue/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/queue/.travis.yml rename to vendor/github.com/eapache/queue/.travis.yml diff --git a/Godeps/_workspace/src/github.com/eapache/queue/LICENSE b/vendor/github.com/eapache/queue/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/queue/LICENSE rename to vendor/github.com/eapache/queue/LICENSE diff --git a/Godeps/_workspace/src/github.com/eapache/queue/README.md b/vendor/github.com/eapache/queue/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/queue/README.md rename to vendor/github.com/eapache/queue/README.md diff --git a/Godeps/_workspace/src/github.com/eapache/queue/queue.go b/vendor/github.com/eapache/queue/queue.go similarity index 100% rename from Godeps/_workspace/src/github.com/eapache/queue/queue.go rename to vendor/github.com/eapache/queue/queue.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/.gitignore b/vendor/github.com/fsnotify/fsnotify/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/.gitignore rename to vendor/github.com/fsnotify/fsnotify/.gitignore diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/.travis.yml b/vendor/github.com/fsnotify/fsnotify/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/.travis.yml rename to vendor/github.com/fsnotify/fsnotify/.travis.yml diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/AUTHORS b/vendor/github.com/fsnotify/fsnotify/AUTHORS similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/AUTHORS rename to vendor/github.com/fsnotify/fsnotify/AUTHORS diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/CHANGELOG.md b/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/CHANGELOG.md rename to vendor/github.com/fsnotify/fsnotify/CHANGELOG.md diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/CONTRIBUTING.md b/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/CONTRIBUTING.md rename to vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/LICENSE b/vendor/github.com/fsnotify/fsnotify/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/LICENSE rename to vendor/github.com/fsnotify/fsnotify/LICENSE diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/README.md b/vendor/github.com/fsnotify/fsnotify/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/README.md rename to vendor/github.com/fsnotify/fsnotify/README.md diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/fen.go b/vendor/github.com/fsnotify/fsnotify/fen.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/fen.go rename to vendor/github.com/fsnotify/fsnotify/fen.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/fsnotify.go b/vendor/github.com/fsnotify/fsnotify/fsnotify.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/fsnotify.go rename to vendor/github.com/fsnotify/fsnotify/fsnotify.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/inotify.go b/vendor/github.com/fsnotify/fsnotify/inotify.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/inotify.go rename to vendor/github.com/fsnotify/fsnotify/inotify.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/inotify_poller.go b/vendor/github.com/fsnotify/fsnotify/inotify_poller.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/inotify_poller.go rename to vendor/github.com/fsnotify/fsnotify/inotify_poller.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/kqueue.go b/vendor/github.com/fsnotify/fsnotify/kqueue.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/kqueue.go rename to vendor/github.com/fsnotify/fsnotify/kqueue.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/open_mode_bsd.go b/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/open_mode_bsd.go rename to vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/open_mode_darwin.go b/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/open_mode_darwin.go rename to vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go diff --git a/Godeps/_workspace/src/github.com/fsnotify/fsnotify/windows.go b/vendor/github.com/fsnotify/fsnotify/windows.go similarity index 100% rename from Godeps/_workspace/src/github.com/fsnotify/fsnotify/windows.go rename to vendor/github.com/fsnotify/fsnotify/windows.go diff --git a/vendor/github.com/golang/protobuf/AUTHORS b/vendor/github.com/golang/protobuf/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/github.com/golang/protobuf/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/github.com/golang/protobuf/CONTRIBUTORS b/vendor/github.com/golang/protobuf/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/github.com/golang/protobuf/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/LICENSE b/vendor/github.com/golang/protobuf/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/LICENSE rename to vendor/github.com/golang/protobuf/LICENSE diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/Makefile b/vendor/github.com/golang/protobuf/proto/Makefile similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/Makefile rename to vendor/github.com/golang/protobuf/proto/Makefile diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/clone.go b/vendor/github.com/golang/protobuf/proto/clone.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/clone.go rename to vendor/github.com/golang/protobuf/proto/clone.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/decode.go b/vendor/github.com/golang/protobuf/proto/decode.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/decode.go rename to vendor/github.com/golang/protobuf/proto/decode.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/encode.go b/vendor/github.com/golang/protobuf/proto/encode.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/encode.go rename to vendor/github.com/golang/protobuf/proto/encode.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/equal.go b/vendor/github.com/golang/protobuf/proto/equal.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/equal.go rename to vendor/github.com/golang/protobuf/proto/equal.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/extensions.go rename to vendor/github.com/golang/protobuf/proto/extensions.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/lib.go b/vendor/github.com/golang/protobuf/proto/lib.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/lib.go rename to vendor/github.com/golang/protobuf/proto/lib.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/message_set.go b/vendor/github.com/golang/protobuf/proto/message_set.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/message_set.go rename to vendor/github.com/golang/protobuf/proto/message_set.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/pointer_reflect.go b/vendor/github.com/golang/protobuf/proto/pointer_reflect.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/pointer_reflect.go rename to vendor/github.com/golang/protobuf/proto/pointer_reflect.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/pointer_unsafe.go b/vendor/github.com/golang/protobuf/proto/pointer_unsafe.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/pointer_unsafe.go rename to vendor/github.com/golang/protobuf/proto/pointer_unsafe.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/properties.go rename to vendor/github.com/golang/protobuf/proto/properties.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/text.go b/vendor/github.com/golang/protobuf/proto/text.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/text.go rename to vendor/github.com/golang/protobuf/proto/text.go diff --git a/Godeps/_workspace/src/github.com/golang/protobuf/proto/text_parser.go b/vendor/github.com/golang/protobuf/proto/text_parser.go similarity index 100% rename from Godeps/_workspace/src/github.com/golang/protobuf/proto/text_parser.go rename to vendor/github.com/golang/protobuf/proto/text_parser.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/.gitignore b/vendor/github.com/google/gopacket/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/.gitignore rename to vendor/github.com/google/gopacket/.gitignore diff --git a/Godeps/_workspace/src/github.com/google/gopacket/.travis.yml b/vendor/github.com/google/gopacket/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/.travis.yml rename to vendor/github.com/google/gopacket/.travis.yml diff --git a/Godeps/_workspace/src/github.com/google/gopacket/AUTHORS b/vendor/github.com/google/gopacket/AUTHORS similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/AUTHORS rename to vendor/github.com/google/gopacket/AUTHORS diff --git a/Godeps/_workspace/src/github.com/google/gopacket/CHANGELOG b/vendor/github.com/google/gopacket/CHANGELOG similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/CHANGELOG rename to vendor/github.com/google/gopacket/CHANGELOG diff --git a/Godeps/_workspace/src/github.com/google/gopacket/CONTRIBUTING.md b/vendor/github.com/google/gopacket/CONTRIBUTING.md similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/CONTRIBUTING.md rename to vendor/github.com/google/gopacket/CONTRIBUTING.md diff --git a/Godeps/_workspace/src/github.com/google/gopacket/LICENSE b/vendor/github.com/google/gopacket/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/LICENSE rename to vendor/github.com/google/gopacket/LICENSE diff --git a/Godeps/_workspace/src/github.com/google/gopacket/README.mkd b/vendor/github.com/google/gopacket/README.mkd similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/README.mkd rename to vendor/github.com/google/gopacket/README.mkd diff --git a/Godeps/_workspace/src/github.com/google/gopacket/base.go b/vendor/github.com/google/gopacket/base.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/base.go rename to vendor/github.com/google/gopacket/base.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/decode.go b/vendor/github.com/google/gopacket/decode.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/decode.go rename to vendor/github.com/google/gopacket/decode.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/doc.go b/vendor/github.com/google/gopacket/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/doc.go rename to vendor/github.com/google/gopacket/doc.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/flows.go b/vendor/github.com/google/gopacket/flows.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/flows.go rename to vendor/github.com/google/gopacket/flows.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/gc b/vendor/github.com/google/gopacket/gc similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/gc rename to vendor/github.com/google/gopacket/gc diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layerclass.go b/vendor/github.com/google/gopacket/layerclass.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layerclass.go rename to vendor/github.com/google/gopacket/layerclass.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/arp.go b/vendor/github.com/google/gopacket/layers/arp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/arp.go rename to vendor/github.com/google/gopacket/layers/arp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/base.go b/vendor/github.com/google/gopacket/layers/base.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/base.go rename to vendor/github.com/google/gopacket/layers/base.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/cdp.go b/vendor/github.com/google/gopacket/layers/cdp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/cdp.go rename to vendor/github.com/google/gopacket/layers/cdp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ctp.go b/vendor/github.com/google/gopacket/layers/ctp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ctp.go rename to vendor/github.com/google/gopacket/layers/ctp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/dns.go b/vendor/github.com/google/gopacket/layers/dns.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/dns.go rename to vendor/github.com/google/gopacket/layers/dns.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/doc.go b/vendor/github.com/google/gopacket/layers/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/doc.go rename to vendor/github.com/google/gopacket/layers/doc.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/dot11.go b/vendor/github.com/google/gopacket/layers/dot11.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/dot11.go rename to vendor/github.com/google/gopacket/layers/dot11.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/dot1q.go b/vendor/github.com/google/gopacket/layers/dot1q.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/dot1q.go rename to vendor/github.com/google/gopacket/layers/dot1q.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/eap.go b/vendor/github.com/google/gopacket/layers/eap.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/eap.go rename to vendor/github.com/google/gopacket/layers/eap.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/eapol.go b/vendor/github.com/google/gopacket/layers/eapol.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/eapol.go rename to vendor/github.com/google/gopacket/layers/eapol.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/endpoints.go b/vendor/github.com/google/gopacket/layers/endpoints.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/endpoints.go rename to vendor/github.com/google/gopacket/layers/endpoints.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/enums.go b/vendor/github.com/google/gopacket/layers/enums.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/enums.go rename to vendor/github.com/google/gopacket/layers/enums.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/etherip.go b/vendor/github.com/google/gopacket/layers/etherip.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/etherip.go rename to vendor/github.com/google/gopacket/layers/etherip.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ethernet.go b/vendor/github.com/google/gopacket/layers/ethernet.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ethernet.go rename to vendor/github.com/google/gopacket/layers/ethernet.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/fddi.go b/vendor/github.com/google/gopacket/layers/fddi.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/fddi.go rename to vendor/github.com/google/gopacket/layers/fddi.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/gen.go b/vendor/github.com/google/gopacket/layers/gen.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/gen.go rename to vendor/github.com/google/gopacket/layers/gen.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/gre.go b/vendor/github.com/google/gopacket/layers/gre.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/gre.go rename to vendor/github.com/google/gopacket/layers/gre.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/iana_ports.go b/vendor/github.com/google/gopacket/layers/iana_ports.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/iana_ports.go rename to vendor/github.com/google/gopacket/layers/iana_ports.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/icmp4.go b/vendor/github.com/google/gopacket/layers/icmp4.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/icmp4.go rename to vendor/github.com/google/gopacket/layers/icmp4.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/icmp6.go b/vendor/github.com/google/gopacket/layers/icmp6.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/icmp6.go rename to vendor/github.com/google/gopacket/layers/icmp6.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/igmp.go b/vendor/github.com/google/gopacket/layers/igmp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/igmp.go rename to vendor/github.com/google/gopacket/layers/igmp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ip4.go b/vendor/github.com/google/gopacket/layers/ip4.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ip4.go rename to vendor/github.com/google/gopacket/layers/ip4.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ip6.go b/vendor/github.com/google/gopacket/layers/ip6.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ip6.go rename to vendor/github.com/google/gopacket/layers/ip6.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ipsec.go b/vendor/github.com/google/gopacket/layers/ipsec.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ipsec.go rename to vendor/github.com/google/gopacket/layers/ipsec.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/layertypes.go b/vendor/github.com/google/gopacket/layers/layertypes.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/layertypes.go rename to vendor/github.com/google/gopacket/layers/layertypes.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/linux_sll.go b/vendor/github.com/google/gopacket/layers/linux_sll.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/linux_sll.go rename to vendor/github.com/google/gopacket/layers/linux_sll.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/llc.go b/vendor/github.com/google/gopacket/layers/llc.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/llc.go rename to vendor/github.com/google/gopacket/layers/llc.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/lldp.go b/vendor/github.com/google/gopacket/layers/lldp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/lldp.go rename to vendor/github.com/google/gopacket/layers/lldp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/loopback.go b/vendor/github.com/google/gopacket/layers/loopback.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/loopback.go rename to vendor/github.com/google/gopacket/layers/loopback.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/mpls.go b/vendor/github.com/google/gopacket/layers/mpls.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/mpls.go rename to vendor/github.com/google/gopacket/layers/mpls.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ndp.go b/vendor/github.com/google/gopacket/layers/ndp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ndp.go rename to vendor/github.com/google/gopacket/layers/ndp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/pflog.go b/vendor/github.com/google/gopacket/layers/pflog.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/pflog.go rename to vendor/github.com/google/gopacket/layers/pflog.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ports.go b/vendor/github.com/google/gopacket/layers/ports.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ports.go rename to vendor/github.com/google/gopacket/layers/ports.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/ppp.go b/vendor/github.com/google/gopacket/layers/ppp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/ppp.go rename to vendor/github.com/google/gopacket/layers/ppp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/pppoe.go b/vendor/github.com/google/gopacket/layers/pppoe.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/pppoe.go rename to vendor/github.com/google/gopacket/layers/pppoe.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/prism.go b/vendor/github.com/google/gopacket/layers/prism.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/prism.go rename to vendor/github.com/google/gopacket/layers/prism.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/radiotap.go b/vendor/github.com/google/gopacket/layers/radiotap.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/radiotap.go rename to vendor/github.com/google/gopacket/layers/radiotap.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/rudp.go b/vendor/github.com/google/gopacket/layers/rudp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/rudp.go rename to vendor/github.com/google/gopacket/layers/rudp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/sctp.go b/vendor/github.com/google/gopacket/layers/sctp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/sctp.go rename to vendor/github.com/google/gopacket/layers/sctp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/sflow.go b/vendor/github.com/google/gopacket/layers/sflow.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/sflow.go rename to vendor/github.com/google/gopacket/layers/sflow.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/tcp.go b/vendor/github.com/google/gopacket/layers/tcp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/tcp.go rename to vendor/github.com/google/gopacket/layers/tcp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/tcpip.go b/vendor/github.com/google/gopacket/layers/tcpip.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/tcpip.go rename to vendor/github.com/google/gopacket/layers/tcpip.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/test_creator.py b/vendor/github.com/google/gopacket/layers/test_creator.py similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/test_creator.py rename to vendor/github.com/google/gopacket/layers/test_creator.py diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/udp.go b/vendor/github.com/google/gopacket/layers/udp.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/udp.go rename to vendor/github.com/google/gopacket/layers/udp.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/udplite.go b/vendor/github.com/google/gopacket/layers/udplite.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/udplite.go rename to vendor/github.com/google/gopacket/layers/udplite.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layers/usb.go b/vendor/github.com/google/gopacket/layers/usb.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layers/usb.go rename to vendor/github.com/google/gopacket/layers/usb.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/layertype.go b/vendor/github.com/google/gopacket/layertype.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/layertype.go rename to vendor/github.com/google/gopacket/layertype.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/packet.go b/vendor/github.com/google/gopacket/packet.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/packet.go rename to vendor/github.com/google/gopacket/packet.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/parser.go b/vendor/github.com/google/gopacket/parser.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/parser.go rename to vendor/github.com/google/gopacket/parser.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/doc.go b/vendor/github.com/google/gopacket/pcap/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/doc.go rename to vendor/github.com/google/gopacket/pcap/doc.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/pcap.go b/vendor/github.com/google/gopacket/pcap/pcap.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/pcap.go rename to vendor/github.com/google/gopacket/pcap/pcap.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/pcap_tester.go b/vendor/github.com/google/gopacket/pcap/pcap_tester.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/pcap_tester.go rename to vendor/github.com/google/gopacket/pcap/pcap_tester.go diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/test_dns.pcap b/vendor/github.com/google/gopacket/pcap/test_dns.pcap similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/test_dns.pcap rename to vendor/github.com/google/gopacket/pcap/test_dns.pcap diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/test_ethernet.pcap b/vendor/github.com/google/gopacket/pcap/test_ethernet.pcap similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/test_ethernet.pcap rename to vendor/github.com/google/gopacket/pcap/test_ethernet.pcap diff --git a/Godeps/_workspace/src/github.com/google/gopacket/pcap/test_loopback.pcap b/vendor/github.com/google/gopacket/pcap/test_loopback.pcap similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/pcap/test_loopback.pcap rename to vendor/github.com/google/gopacket/pcap/test_loopback.pcap diff --git a/Godeps/_workspace/src/github.com/google/gopacket/writer.go b/vendor/github.com/google/gopacket/writer.go similarity index 100% rename from Godeps/_workspace/src/github.com/google/gopacket/writer.go rename to vendor/github.com/google/gopacket/writer.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore b/vendor/github.com/hashicorp/hcl/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore rename to vendor/github.com/hashicorp/hcl/.gitignore diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml b/vendor/github.com/hashicorp/hcl/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml rename to vendor/github.com/hashicorp/hcl/.travis.yml diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE b/vendor/github.com/hashicorp/hcl/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE rename to vendor/github.com/hashicorp/hcl/LICENSE diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile b/vendor/github.com/hashicorp/hcl/Makefile similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile rename to vendor/github.com/hashicorp/hcl/Makefile diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md b/vendor/github.com/hashicorp/hcl/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/README.md rename to vendor/github.com/hashicorp/hcl/README.md diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go b/vendor/github.com/hashicorp/hcl/decoder.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go rename to vendor/github.com/hashicorp/hcl/decoder.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go b/vendor/github.com/hashicorp/hcl/hcl.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go rename to vendor/github.com/hashicorp/hcl/hcl.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go b/vendor/github.com/hashicorp/hcl/hcl/ast/ast.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go rename to vendor/github.com/hashicorp/hcl/hcl/ast/ast.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go b/vendor/github.com/hashicorp/hcl/hcl/ast/walk.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go rename to vendor/github.com/hashicorp/hcl/hcl/ast/walk.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go b/vendor/github.com/hashicorp/hcl/hcl/parser/error.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go rename to vendor/github.com/hashicorp/hcl/hcl/parser/error.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/parser.go b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/parser.go rename to vendor/github.com/hashicorp/hcl/hcl/parser/parser.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner.go b/vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner.go rename to vendor/github.com/hashicorp/hcl/hcl/scanner/scanner.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go b/vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go rename to vendor/github.com/hashicorp/hcl/hcl/strconv/quote.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go b/vendor/github.com/hashicorp/hcl/hcl/token/position.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go rename to vendor/github.com/hashicorp/hcl/hcl/token/position.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go b/vendor/github.com/hashicorp/hcl/hcl/token/token.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go rename to vendor/github.com/hashicorp/hcl/hcl/token/token.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go b/vendor/github.com/hashicorp/hcl/json/parser/flatten.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go rename to vendor/github.com/hashicorp/hcl/json/parser/flatten.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go b/vendor/github.com/hashicorp/hcl/json/parser/parser.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go rename to vendor/github.com/hashicorp/hcl/json/parser/parser.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go b/vendor/github.com/hashicorp/hcl/json/scanner/scanner.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go rename to vendor/github.com/hashicorp/hcl/json/scanner/scanner.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go b/vendor/github.com/hashicorp/hcl/json/token/position.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go rename to vendor/github.com/hashicorp/hcl/json/token/position.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/token.go b/vendor/github.com/hashicorp/hcl/json/token/token.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/token.go rename to vendor/github.com/hashicorp/hcl/json/token/token.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/lex.go b/vendor/github.com/hashicorp/hcl/lex.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/lex.go rename to vendor/github.com/hashicorp/hcl/lex.go diff --git a/Godeps/_workspace/src/github.com/hashicorp/hcl/parse.go b/vendor/github.com/hashicorp/hcl/parse.go similarity index 100% rename from Godeps/_workspace/src/github.com/hashicorp/hcl/parse.go rename to vendor/github.com/hashicorp/hcl/parse.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/LICENSE b/vendor/github.com/influxdata/influxdb/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/LICENSE rename to vendor/github.com/influxdata/influxdb/LICENSE diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/LICENSE_OF_DEPENDENCIES.md b/vendor/github.com/influxdata/influxdb/LICENSE_OF_DEPENDENCIES.md similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/LICENSE_OF_DEPENDENCIES.md rename to vendor/github.com/influxdata/influxdb/LICENSE_OF_DEPENDENCIES.md diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/client/v2/client.go b/vendor/github.com/influxdata/influxdb/client/v2/client.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/client/v2/client.go rename to vendor/github.com/influxdata/influxdb/client/v2/client.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/models/consistency.go b/vendor/github.com/influxdata/influxdb/models/consistency.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/models/consistency.go rename to vendor/github.com/influxdata/influxdb/models/consistency.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/models/points.go b/vendor/github.com/influxdata/influxdb/models/points.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/models/points.go rename to vendor/github.com/influxdata/influxdb/models/points.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/models/rows.go b/vendor/github.com/influxdata/influxdb/models/rows.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/models/rows.go rename to vendor/github.com/influxdata/influxdb/models/rows.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/models/statistic.go b/vendor/github.com/influxdata/influxdb/models/statistic.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/models/statistic.go rename to vendor/github.com/influxdata/influxdb/models/statistic.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/models/time.go b/vendor/github.com/influxdata/influxdb/models/time.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/models/time.go rename to vendor/github.com/influxdata/influxdb/models/time.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/pkg/escape/bytes.go b/vendor/github.com/influxdata/influxdb/pkg/escape/bytes.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/pkg/escape/bytes.go rename to vendor/github.com/influxdata/influxdb/pkg/escape/bytes.go diff --git a/Godeps/_workspace/src/github.com/influxdata/influxdb/pkg/escape/strings.go b/vendor/github.com/influxdata/influxdb/pkg/escape/strings.go similarity index 100% rename from Godeps/_workspace/src/github.com/influxdata/influxdb/pkg/escape/strings.go rename to vendor/github.com/influxdata/influxdb/pkg/escape/strings.go diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/.gitignore b/vendor/github.com/jainvipin/bitset/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/.gitignore rename to vendor/github.com/jainvipin/bitset/.gitignore diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/CHANGELOG b/vendor/github.com/jainvipin/bitset/CHANGELOG similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/CHANGELOG rename to vendor/github.com/jainvipin/bitset/CHANGELOG diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/LICENSE.txt b/vendor/github.com/jainvipin/bitset/LICENSE.txt similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/LICENSE.txt rename to vendor/github.com/jainvipin/bitset/LICENSE.txt diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/README.md b/vendor/github.com/jainvipin/bitset/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/README.md rename to vendor/github.com/jainvipin/bitset/README.md diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/bitset.go b/vendor/github.com/jainvipin/bitset/bitset.go similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/bitset.go rename to vendor/github.com/jainvipin/bitset/bitset.go diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt.go b/vendor/github.com/jainvipin/bitset/popcnt.go similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt.go rename to vendor/github.com/jainvipin/bitset/popcnt.go diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_amd64.s b/vendor/github.com/jainvipin/bitset/popcnt_amd64.s similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_amd64.s rename to vendor/github.com/jainvipin/bitset/popcnt_amd64.s diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_asm.go b/vendor/github.com/jainvipin/bitset/popcnt_asm.go similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_asm.go rename to vendor/github.com/jainvipin/bitset/popcnt_asm.go diff --git a/Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_generic.go b/vendor/github.com/jainvipin/bitset/popcnt_generic.go similarity index 100% rename from Godeps/_workspace/src/github.com/jainvipin/bitset/popcnt_generic.go rename to vendor/github.com/jainvipin/bitset/popcnt_generic.go diff --git a/Godeps/_workspace/src/github.com/kr/fs/LICENSE b/vendor/github.com/kr/fs/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/kr/fs/LICENSE rename to vendor/github.com/kr/fs/LICENSE diff --git a/Godeps/_workspace/src/github.com/kr/fs/Readme b/vendor/github.com/kr/fs/Readme similarity index 100% rename from Godeps/_workspace/src/github.com/kr/fs/Readme rename to vendor/github.com/kr/fs/Readme diff --git a/Godeps/_workspace/src/github.com/kr/fs/filesystem.go b/vendor/github.com/kr/fs/filesystem.go similarity index 100% rename from Godeps/_workspace/src/github.com/kr/fs/filesystem.go rename to vendor/github.com/kr/fs/filesystem.go diff --git a/Godeps/_workspace/src/github.com/kr/fs/walk.go b/vendor/github.com/kr/fs/walk.go similarity index 100% rename from Godeps/_workspace/src/github.com/kr/fs/walk.go rename to vendor/github.com/kr/fs/walk.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/.gitignore b/vendor/github.com/magiconair/properties/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/.gitignore rename to vendor/github.com/magiconair/properties/.gitignore diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/.travis.yml b/vendor/github.com/magiconair/properties/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/.travis.yml rename to vendor/github.com/magiconair/properties/.travis.yml diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/CHANGELOG.md b/vendor/github.com/magiconair/properties/CHANGELOG.md similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/CHANGELOG.md rename to vendor/github.com/magiconair/properties/CHANGELOG.md diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/LICENSE b/vendor/github.com/magiconair/properties/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/LICENSE rename to vendor/github.com/magiconair/properties/LICENSE diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/README.md b/vendor/github.com/magiconair/properties/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/README.md rename to vendor/github.com/magiconair/properties/README.md diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/decode.go b/vendor/github.com/magiconair/properties/decode.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/decode.go rename to vendor/github.com/magiconair/properties/decode.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/doc.go b/vendor/github.com/magiconair/properties/doc.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/doc.go rename to vendor/github.com/magiconair/properties/doc.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/lex.go b/vendor/github.com/magiconair/properties/lex.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/lex.go rename to vendor/github.com/magiconair/properties/lex.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/load.go b/vendor/github.com/magiconair/properties/load.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/load.go rename to vendor/github.com/magiconair/properties/load.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/parser.go b/vendor/github.com/magiconair/properties/parser.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/parser.go rename to vendor/github.com/magiconair/properties/parser.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/properties.go b/vendor/github.com/magiconair/properties/properties.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/properties.go rename to vendor/github.com/magiconair/properties/properties.go diff --git a/Godeps/_workspace/src/github.com/magiconair/properties/rangecheck.go b/vendor/github.com/magiconair/properties/rangecheck.go similarity index 100% rename from Godeps/_workspace/src/github.com/magiconair/properties/rangecheck.go rename to vendor/github.com/magiconair/properties/rangecheck.go diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/.travis.yml b/vendor/github.com/mitchellh/mapstructure/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/.travis.yml rename to vendor/github.com/mitchellh/mapstructure/.travis.yml diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/LICENSE b/vendor/github.com/mitchellh/mapstructure/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/LICENSE rename to vendor/github.com/mitchellh/mapstructure/LICENSE diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/README.md b/vendor/github.com/mitchellh/mapstructure/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/README.md rename to vendor/github.com/mitchellh/mapstructure/README.md diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/decode_hooks.go b/vendor/github.com/mitchellh/mapstructure/decode_hooks.go similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/decode_hooks.go rename to vendor/github.com/mitchellh/mapstructure/decode_hooks.go diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/error.go b/vendor/github.com/mitchellh/mapstructure/error.go similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/error.go rename to vendor/github.com/mitchellh/mapstructure/error.go diff --git a/Godeps/_workspace/src/github.com/mitchellh/mapstructure/mapstructure.go b/vendor/github.com/mitchellh/mapstructure/mapstructure.go similarity index 100% rename from Godeps/_workspace/src/github.com/mitchellh/mapstructure/mapstructure.go rename to vendor/github.com/mitchellh/mapstructure/mapstructure.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/LICENSE b/vendor/github.com/osrg/gobgp/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/LICENSE rename to vendor/github.com/osrg/gobgp/LICENSE diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/api/gobgp.pb.go b/vendor/github.com/osrg/gobgp/api/gobgp.pb.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/api/gobgp.pb.go rename to vendor/github.com/osrg/gobgp/api/gobgp.pb.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/api/gobgp.proto b/vendor/github.com/osrg/gobgp/api/gobgp.proto similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/api/gobgp.proto rename to vendor/github.com/osrg/gobgp/api/gobgp.proto diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/api/grpc_server.go b/vendor/github.com/osrg/gobgp/api/grpc_server.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/api/grpc_server.go rename to vendor/github.com/osrg/gobgp/api/grpc_server.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/api/util.go b/vendor/github.com/osrg/gobgp/api/util.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/api/util.go rename to vendor/github.com/osrg/gobgp/api/util.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/bgp_configs.go b/vendor/github.com/osrg/gobgp/config/bgp_configs.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/bgp_configs.go rename to vendor/github.com/osrg/gobgp/config/bgp_configs.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/default.go b/vendor/github.com/osrg/gobgp/config/default.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/default.go rename to vendor/github.com/osrg/gobgp/config/default.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/default_linux.go b/vendor/github.com/osrg/gobgp/config/default_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/default_linux.go rename to vendor/github.com/osrg/gobgp/config/default_linux.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/default_nonlinux.go b/vendor/github.com/osrg/gobgp/config/default_nonlinux.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/default_nonlinux.go rename to vendor/github.com/osrg/gobgp/config/default_nonlinux.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/serve.go b/vendor/github.com/osrg/gobgp/config/serve.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/serve.go rename to vendor/github.com/osrg/gobgp/config/serve.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/config/util.go b/vendor/github.com/osrg/gobgp/config/util.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/config/util.go rename to vendor/github.com/osrg/gobgp/config/util.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgp.go b/vendor/github.com/osrg/gobgp/packet/bgp/bgp.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgp.go rename to vendor/github.com/osrg/gobgp/packet/bgp/bgp.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgpattrtype_string.go b/vendor/github.com/osrg/gobgp/packet/bgp/bgpattrtype_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgpattrtype_string.go rename to vendor/github.com/osrg/gobgp/packet/bgp/bgpattrtype_string.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgpcapabilitycode_string.go b/vendor/github.com/osrg/gobgp/packet/bgp/bgpcapabilitycode_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/bgpcapabilitycode_string.go rename to vendor/github.com/osrg/gobgp/packet/bgp/bgpcapabilitycode_string.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/constant.go b/vendor/github.com/osrg/gobgp/packet/bgp/constant.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/constant.go rename to vendor/github.com/osrg/gobgp/packet/bgp/constant.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/esitype_string.go b/vendor/github.com/osrg/gobgp/packet/bgp/esitype_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/esitype_string.go rename to vendor/github.com/osrg/gobgp/packet/bgp/esitype_string.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/fsmstate_string.go b/vendor/github.com/osrg/gobgp/packet/bgp/fsmstate_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/fsmstate_string.go rename to vendor/github.com/osrg/gobgp/packet/bgp/fsmstate_string.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/helper.go b/vendor/github.com/osrg/gobgp/packet/bgp/helper.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/helper.go rename to vendor/github.com/osrg/gobgp/packet/bgp/helper.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/validate.go b/vendor/github.com/osrg/gobgp/packet/bgp/validate.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bgp/validate.go rename to vendor/github.com/osrg/gobgp/packet/bgp/validate.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/bmp/bmp.go b/vendor/github.com/osrg/gobgp/packet/bmp/bmp.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/bmp/bmp.go rename to vendor/github.com/osrg/gobgp/packet/bmp/bmp.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/mrt/mrt.go b/vendor/github.com/osrg/gobgp/packet/mrt/mrt.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/mrt/mrt.go rename to vendor/github.com/osrg/gobgp/packet/mrt/mrt.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/packet/rtr/rtr.go b/vendor/github.com/osrg/gobgp/packet/rtr/rtr.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/packet/rtr/rtr.go rename to vendor/github.com/osrg/gobgp/packet/rtr/rtr.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/bmp.go b/vendor/github.com/osrg/gobgp/server/bmp.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/bmp.go rename to vendor/github.com/osrg/gobgp/server/bmp.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/collector.go b/vendor/github.com/osrg/gobgp/server/collector.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/collector.go rename to vendor/github.com/osrg/gobgp/server/collector.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/fsm.go b/vendor/github.com/osrg/gobgp/server/fsm.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/fsm.go rename to vendor/github.com/osrg/gobgp/server/fsm.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/mrt.go b/vendor/github.com/osrg/gobgp/server/mrt.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/mrt.go rename to vendor/github.com/osrg/gobgp/server/mrt.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/peer.go b/vendor/github.com/osrg/gobgp/server/peer.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/peer.go rename to vendor/github.com/osrg/gobgp/server/peer.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/rpki.go b/vendor/github.com/osrg/gobgp/server/rpki.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/rpki.go rename to vendor/github.com/osrg/gobgp/server/rpki.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/server.go b/vendor/github.com/osrg/gobgp/server/server.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/server.go rename to vendor/github.com/osrg/gobgp/server/server.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt.go b/vendor/github.com/osrg/gobgp/server/sockopt.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt.go rename to vendor/github.com/osrg/gobgp/server/sockopt.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_bsd.go b/vendor/github.com/osrg/gobgp/server/sockopt_bsd.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_bsd.go rename to vendor/github.com/osrg/gobgp/server/sockopt_bsd.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_linux.go b/vendor/github.com/osrg/gobgp/server/sockopt_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_linux.go rename to vendor/github.com/osrg/gobgp/server/sockopt_linux.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_openbsd.go b/vendor/github.com/osrg/gobgp/server/sockopt_openbsd.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/sockopt_openbsd.go rename to vendor/github.com/osrg/gobgp/server/sockopt_openbsd.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/server/zclient.go b/vendor/github.com/osrg/gobgp/server/zclient.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/server/zclient.go rename to vendor/github.com/osrg/gobgp/server/zclient.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/adj.go b/vendor/github.com/osrg/gobgp/table/adj.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/adj.go rename to vendor/github.com/osrg/gobgp/table/adj.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/destination.go b/vendor/github.com/osrg/gobgp/table/destination.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/destination.go rename to vendor/github.com/osrg/gobgp/table/destination.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/message.go b/vendor/github.com/osrg/gobgp/table/message.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/message.go rename to vendor/github.com/osrg/gobgp/table/message.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/path.go b/vendor/github.com/osrg/gobgp/table/path.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/path.go rename to vendor/github.com/osrg/gobgp/table/path.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/policy.go b/vendor/github.com/osrg/gobgp/table/policy.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/policy.go rename to vendor/github.com/osrg/gobgp/table/policy.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/table.go b/vendor/github.com/osrg/gobgp/table/table.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/table.go rename to vendor/github.com/osrg/gobgp/table/table.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/table_manager.go b/vendor/github.com/osrg/gobgp/table/table_manager.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/table_manager.go rename to vendor/github.com/osrg/gobgp/table/table_manager.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/table/vrf.go b/vendor/github.com/osrg/gobgp/table/vrf.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/table/vrf.go rename to vendor/github.com/osrg/gobgp/table/vrf.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/zebra/safi_string.go b/vendor/github.com/osrg/gobgp/zebra/safi_string.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/zebra/safi_string.go rename to vendor/github.com/osrg/gobgp/zebra/safi_string.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi.go b/vendor/github.com/osrg/gobgp/zebra/zapi.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi.go rename to vendor/github.com/osrg/gobgp/zebra/zapi.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_bsd.go b/vendor/github.com/osrg/gobgp/zebra/zapi_bsd.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_bsd.go rename to vendor/github.com/osrg/gobgp/zebra/zapi_bsd.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_darwin.go b/vendor/github.com/osrg/gobgp/zebra/zapi_darwin.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_darwin.go rename to vendor/github.com/osrg/gobgp/zebra/zapi_darwin.go diff --git a/Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_linux.go b/vendor/github.com/osrg/gobgp/zebra/zapi_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/osrg/gobgp/zebra/zapi_linux.go rename to vendor/github.com/osrg/gobgp/zebra/zapi_linux.go diff --git a/Godeps/_workspace/src/github.com/pkg/errors/.gitignore b/vendor/github.com/pkg/errors/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/.gitignore rename to vendor/github.com/pkg/errors/.gitignore diff --git a/Godeps/_workspace/src/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/.travis.yml rename to vendor/github.com/pkg/errors/.travis.yml diff --git a/Godeps/_workspace/src/github.com/pkg/errors/LICENSE b/vendor/github.com/pkg/errors/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/LICENSE rename to vendor/github.com/pkg/errors/LICENSE diff --git a/Godeps/_workspace/src/github.com/pkg/errors/README.md b/vendor/github.com/pkg/errors/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/README.md rename to vendor/github.com/pkg/errors/README.md diff --git a/Godeps/_workspace/src/github.com/pkg/errors/appveyor.yml b/vendor/github.com/pkg/errors/appveyor.yml similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/appveyor.yml rename to vendor/github.com/pkg/errors/appveyor.yml diff --git a/Godeps/_workspace/src/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/errors.go rename to vendor/github.com/pkg/errors/errors.go diff --git a/Godeps/_workspace/src/github.com/pkg/errors/stack.go b/vendor/github.com/pkg/errors/stack.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/errors/stack.go rename to vendor/github.com/pkg/errors/stack.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/.gitignore b/vendor/github.com/pkg/sftp/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/.gitignore rename to vendor/github.com/pkg/sftp/.gitignore diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/.travis.yml b/vendor/github.com/pkg/sftp/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/.travis.yml rename to vendor/github.com/pkg/sftp/.travis.yml diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/CONTRIBUTORS b/vendor/github.com/pkg/sftp/CONTRIBUTORS similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/CONTRIBUTORS rename to vendor/github.com/pkg/sftp/CONTRIBUTORS diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/LICENSE b/vendor/github.com/pkg/sftp/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/LICENSE rename to vendor/github.com/pkg/sftp/LICENSE diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/README.md b/vendor/github.com/pkg/sftp/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/README.md rename to vendor/github.com/pkg/sftp/README.md diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/attrs.go b/vendor/github.com/pkg/sftp/attrs.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/attrs.go rename to vendor/github.com/pkg/sftp/attrs.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/attrs_stubs.go b/vendor/github.com/pkg/sftp/attrs_stubs.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/attrs_stubs.go rename to vendor/github.com/pkg/sftp/attrs_stubs.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/attrs_unix.go b/vendor/github.com/pkg/sftp/attrs_unix.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/attrs_unix.go rename to vendor/github.com/pkg/sftp/attrs_unix.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/client.go b/vendor/github.com/pkg/sftp/client.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/client.go rename to vendor/github.com/pkg/sftp/client.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/conn.go b/vendor/github.com/pkg/sftp/conn.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/conn.go rename to vendor/github.com/pkg/sftp/conn.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/debug.go b/vendor/github.com/pkg/sftp/debug.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/debug.go rename to vendor/github.com/pkg/sftp/debug.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/packet.go b/vendor/github.com/pkg/sftp/packet.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/packet.go rename to vendor/github.com/pkg/sftp/packet.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/release.go b/vendor/github.com/pkg/sftp/release.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/release.go rename to vendor/github.com/pkg/sftp/release.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server.go b/vendor/github.com/pkg/sftp/server.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server.go rename to vendor/github.com/pkg/sftp/server.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_darwin.go b/vendor/github.com/pkg/sftp/server_statvfs_darwin.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_darwin.go rename to vendor/github.com/pkg/sftp/server_statvfs_darwin.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_impl.go b/vendor/github.com/pkg/sftp/server_statvfs_impl.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_impl.go rename to vendor/github.com/pkg/sftp/server_statvfs_impl.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_linux.go b/vendor/github.com/pkg/sftp/server_statvfs_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_linux.go rename to vendor/github.com/pkg/sftp/server_statvfs_linux.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_stubs.go b/vendor/github.com/pkg/sftp/server_statvfs_stubs.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_statvfs_stubs.go rename to vendor/github.com/pkg/sftp/server_statvfs_stubs.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_stubs.go b/vendor/github.com/pkg/sftp/server_stubs.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_stubs.go rename to vendor/github.com/pkg/sftp/server_stubs.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/server_unix.go b/vendor/github.com/pkg/sftp/server_unix.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/server_unix.go rename to vendor/github.com/pkg/sftp/server_unix.go diff --git a/Godeps/_workspace/src/github.com/pkg/sftp/sftp.go b/vendor/github.com/pkg/sftp/sftp.go similarity index 100% rename from Godeps/_workspace/src/github.com/pkg/sftp/sftp.go rename to vendor/github.com/pkg/sftp/sftp.go diff --git a/Godeps/_workspace/src/github.com/satori/go.uuid/.travis.yml b/vendor/github.com/satori/go.uuid/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/satori/go.uuid/.travis.yml rename to vendor/github.com/satori/go.uuid/.travis.yml diff --git a/Godeps/_workspace/src/github.com/satori/go.uuid/LICENSE b/vendor/github.com/satori/go.uuid/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/satori/go.uuid/LICENSE rename to vendor/github.com/satori/go.uuid/LICENSE diff --git a/Godeps/_workspace/src/github.com/satori/go.uuid/README.md b/vendor/github.com/satori/go.uuid/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/satori/go.uuid/README.md rename to vendor/github.com/satori/go.uuid/README.md diff --git a/Godeps/_workspace/src/github.com/satori/go.uuid/uuid.go b/vendor/github.com/satori/go.uuid/uuid.go similarity index 100% rename from Godeps/_workspace/src/github.com/satori/go.uuid/uuid.go rename to vendor/github.com/satori/go.uuid/uuid.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/LICENSE b/vendor/github.com/shaleman/libOpenflow/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/LICENSE rename to vendor/github.com/shaleman/libOpenflow/LICENSE diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/common/header.go b/vendor/github.com/shaleman/libOpenflow/common/header.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/common/header.go rename to vendor/github.com/shaleman/libOpenflow/common/header.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/action.go b/vendor/github.com/shaleman/libOpenflow/openflow13/action.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/action.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/action.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/flowmod.go b/vendor/github.com/shaleman/libOpenflow/openflow13/flowmod.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/flowmod.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/flowmod.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/group.go b/vendor/github.com/shaleman/libOpenflow/openflow13/group.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/group.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/group.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/instruction.go b/vendor/github.com/shaleman/libOpenflow/openflow13/instruction.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/instruction.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/instruction.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/match.go b/vendor/github.com/shaleman/libOpenflow/openflow13/match.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/match.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/match.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/multipart.go b/vendor/github.com/shaleman/libOpenflow/openflow13/multipart.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/multipart.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/multipart.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/openflow13.go b/vendor/github.com/shaleman/libOpenflow/openflow13/openflow13.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/openflow13.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/openflow13.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/port.go b/vendor/github.com/shaleman/libOpenflow/openflow13/port.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/openflow13/port.go rename to vendor/github.com/shaleman/libOpenflow/openflow13/port.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/arp.go b/vendor/github.com/shaleman/libOpenflow/protocol/arp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/arp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/arp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/dhcp.go b/vendor/github.com/shaleman/libOpenflow/protocol/dhcp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/dhcp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/dhcp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/ethernet.go b/vendor/github.com/shaleman/libOpenflow/protocol/ethernet.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/ethernet.go rename to vendor/github.com/shaleman/libOpenflow/protocol/ethernet.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/icmp.go b/vendor/github.com/shaleman/libOpenflow/protocol/icmp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/icmp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/icmp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/ip.go b/vendor/github.com/shaleman/libOpenflow/protocol/ip.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/ip.go rename to vendor/github.com/shaleman/libOpenflow/protocol/ip.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/lldp.go b/vendor/github.com/shaleman/libOpenflow/protocol/lldp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/lldp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/lldp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/tcp.go b/vendor/github.com/shaleman/libOpenflow/protocol/tcp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/tcp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/tcp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/udp.go b/vendor/github.com/shaleman/libOpenflow/protocol/udp.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/protocol/udp.go rename to vendor/github.com/shaleman/libOpenflow/protocol/udp.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/util/stream.go b/vendor/github.com/shaleman/libOpenflow/util/stream.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/util/stream.go rename to vendor/github.com/shaleman/libOpenflow/util/stream.go diff --git a/Godeps/_workspace/src/github.com/shaleman/libOpenflow/util/util.go b/vendor/github.com/shaleman/libOpenflow/util/util.go similarity index 100% rename from Godeps/_workspace/src/github.com/shaleman/libOpenflow/util/util.go rename to vendor/github.com/shaleman/libOpenflow/util/util.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/.travis.yml b/vendor/github.com/spf13/afero/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/.travis.yml rename to vendor/github.com/spf13/afero/.travis.yml diff --git a/Godeps/_workspace/src/github.com/spf13/afero/LICENSE.txt b/vendor/github.com/spf13/afero/LICENSE.txt similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/LICENSE.txt rename to vendor/github.com/spf13/afero/LICENSE.txt diff --git a/Godeps/_workspace/src/github.com/spf13/afero/README.md b/vendor/github.com/spf13/afero/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/README.md rename to vendor/github.com/spf13/afero/README.md diff --git a/Godeps/_workspace/src/github.com/spf13/afero/afero.go b/vendor/github.com/spf13/afero/afero.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/afero.go rename to vendor/github.com/spf13/afero/afero.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/appveyor.yml b/vendor/github.com/spf13/afero/appveyor.yml similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/appveyor.yml rename to vendor/github.com/spf13/afero/appveyor.yml diff --git a/Godeps/_workspace/src/github.com/spf13/afero/basepath.go b/vendor/github.com/spf13/afero/basepath.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/basepath.go rename to vendor/github.com/spf13/afero/basepath.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/cacheOnReadFs.go b/vendor/github.com/spf13/afero/cacheOnReadFs.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/cacheOnReadFs.go rename to vendor/github.com/spf13/afero/cacheOnReadFs.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/const_bsds.go b/vendor/github.com/spf13/afero/const_bsds.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/const_bsds.go rename to vendor/github.com/spf13/afero/const_bsds.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/const_win_unix.go b/vendor/github.com/spf13/afero/const_win_unix.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/const_win_unix.go rename to vendor/github.com/spf13/afero/const_win_unix.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/copyOnWriteFs.go b/vendor/github.com/spf13/afero/copyOnWriteFs.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/copyOnWriteFs.go rename to vendor/github.com/spf13/afero/copyOnWriteFs.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/httpFs.go b/vendor/github.com/spf13/afero/httpFs.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/httpFs.go rename to vendor/github.com/spf13/afero/httpFs.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/ioutil.go b/vendor/github.com/spf13/afero/ioutil.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/ioutil.go rename to vendor/github.com/spf13/afero/ioutil.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/mem/dir.go b/vendor/github.com/spf13/afero/mem/dir.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/mem/dir.go rename to vendor/github.com/spf13/afero/mem/dir.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/mem/dirmap.go b/vendor/github.com/spf13/afero/mem/dirmap.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/mem/dirmap.go rename to vendor/github.com/spf13/afero/mem/dirmap.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/mem/file.go b/vendor/github.com/spf13/afero/mem/file.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/mem/file.go rename to vendor/github.com/spf13/afero/mem/file.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/memmap.go b/vendor/github.com/spf13/afero/memmap.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/memmap.go rename to vendor/github.com/spf13/afero/memmap.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/memradix.go b/vendor/github.com/spf13/afero/memradix.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/memradix.go rename to vendor/github.com/spf13/afero/memradix.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/os.go b/vendor/github.com/spf13/afero/os.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/os.go rename to vendor/github.com/spf13/afero/os.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/path.go b/vendor/github.com/spf13/afero/path.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/path.go rename to vendor/github.com/spf13/afero/path.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/readonlyfs.go b/vendor/github.com/spf13/afero/readonlyfs.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/readonlyfs.go rename to vendor/github.com/spf13/afero/readonlyfs.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/regexpfs.go b/vendor/github.com/spf13/afero/regexpfs.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/regexpfs.go rename to vendor/github.com/spf13/afero/regexpfs.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/sftp.go b/vendor/github.com/spf13/afero/sftp.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/sftp.go rename to vendor/github.com/spf13/afero/sftp.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/sftp/file.go b/vendor/github.com/spf13/afero/sftp/file.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/sftp/file.go rename to vendor/github.com/spf13/afero/sftp/file.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/sftp_test_go b/vendor/github.com/spf13/afero/sftp_test_go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/sftp_test_go rename to vendor/github.com/spf13/afero/sftp_test_go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/unionFile.go b/vendor/github.com/spf13/afero/unionFile.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/unionFile.go rename to vendor/github.com/spf13/afero/unionFile.go diff --git a/Godeps/_workspace/src/github.com/spf13/afero/util.go b/vendor/github.com/spf13/afero/util.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/afero/util.go rename to vendor/github.com/spf13/afero/util.go diff --git a/Godeps/_workspace/src/github.com/spf13/cast/.gitignore b/vendor/github.com/spf13/cast/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/cast/.gitignore rename to vendor/github.com/spf13/cast/.gitignore diff --git a/Godeps/_workspace/src/github.com/spf13/cast/LICENSE b/vendor/github.com/spf13/cast/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/cast/LICENSE rename to vendor/github.com/spf13/cast/LICENSE diff --git a/Godeps/_workspace/src/github.com/spf13/cast/README.md b/vendor/github.com/spf13/cast/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/cast/README.md rename to vendor/github.com/spf13/cast/README.md diff --git a/Godeps/_workspace/src/github.com/spf13/cast/cast.go b/vendor/github.com/spf13/cast/cast.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/cast/cast.go rename to vendor/github.com/spf13/cast/cast.go diff --git a/Godeps/_workspace/src/github.com/spf13/cast/caste.go b/vendor/github.com/spf13/cast/caste.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/cast/caste.go rename to vendor/github.com/spf13/cast/caste.go diff --git a/Godeps/_workspace/src/github.com/spf13/jwalterweatherman/.gitignore b/vendor/github.com/spf13/jwalterweatherman/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/jwalterweatherman/.gitignore rename to vendor/github.com/spf13/jwalterweatherman/.gitignore diff --git a/Godeps/_workspace/src/github.com/spf13/jwalterweatherman/LICENSE b/vendor/github.com/spf13/jwalterweatherman/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/jwalterweatherman/LICENSE rename to vendor/github.com/spf13/jwalterweatherman/LICENSE diff --git a/Godeps/_workspace/src/github.com/spf13/jwalterweatherman/README.md b/vendor/github.com/spf13/jwalterweatherman/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/jwalterweatherman/README.md rename to vendor/github.com/spf13/jwalterweatherman/README.md diff --git a/Godeps/_workspace/src/github.com/spf13/jwalterweatherman/thatswhyyoualwaysleaveanote.go b/vendor/github.com/spf13/jwalterweatherman/thatswhyyoualwaysleaveanote.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/jwalterweatherman/thatswhyyoualwaysleaveanote.go rename to vendor/github.com/spf13/jwalterweatherman/thatswhyyoualwaysleaveanote.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/.travis.yml b/vendor/github.com/spf13/pflag/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/.travis.yml rename to vendor/github.com/spf13/pflag/.travis.yml diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/LICENSE b/vendor/github.com/spf13/pflag/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/LICENSE rename to vendor/github.com/spf13/pflag/LICENSE diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/README.md rename to vendor/github.com/spf13/pflag/README.md diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/bool.go b/vendor/github.com/spf13/pflag/bool.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/bool.go rename to vendor/github.com/spf13/pflag/bool.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/count.go rename to vendor/github.com/spf13/pflag/count.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/duration.go b/vendor/github.com/spf13/pflag/duration.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/duration.go rename to vendor/github.com/spf13/pflag/duration.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/flag.go rename to vendor/github.com/spf13/pflag/flag.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/float32.go b/vendor/github.com/spf13/pflag/float32.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/float32.go rename to vendor/github.com/spf13/pflag/float32.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/float64.go b/vendor/github.com/spf13/pflag/float64.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/float64.go rename to vendor/github.com/spf13/pflag/float64.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go rename to vendor/github.com/spf13/pflag/golangflag.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/int.go b/vendor/github.com/spf13/pflag/int.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/int.go rename to vendor/github.com/spf13/pflag/int.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/int32.go b/vendor/github.com/spf13/pflag/int32.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/int32.go rename to vendor/github.com/spf13/pflag/int32.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/int64.go b/vendor/github.com/spf13/pflag/int64.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/int64.go rename to vendor/github.com/spf13/pflag/int64.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/int8.go b/vendor/github.com/spf13/pflag/int8.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/int8.go rename to vendor/github.com/spf13/pflag/int8.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go b/vendor/github.com/spf13/pflag/int_slice.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go rename to vendor/github.com/spf13/pflag/int_slice.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/ip.go b/vendor/github.com/spf13/pflag/ip.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/ip.go rename to vendor/github.com/spf13/pflag/ip.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/ipmask.go b/vendor/github.com/spf13/pflag/ipmask.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/ipmask.go rename to vendor/github.com/spf13/pflag/ipmask.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/ipnet.go b/vendor/github.com/spf13/pflag/ipnet.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/ipnet.go rename to vendor/github.com/spf13/pflag/ipnet.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/string.go b/vendor/github.com/spf13/pflag/string.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/string.go rename to vendor/github.com/spf13/pflag/string.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/string_slice.go b/vendor/github.com/spf13/pflag/string_slice.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/string_slice.go rename to vendor/github.com/spf13/pflag/string_slice.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/uint.go b/vendor/github.com/spf13/pflag/uint.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/uint.go rename to vendor/github.com/spf13/pflag/uint.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/uint16.go b/vendor/github.com/spf13/pflag/uint16.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/uint16.go rename to vendor/github.com/spf13/pflag/uint16.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/uint32.go b/vendor/github.com/spf13/pflag/uint32.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/uint32.go rename to vendor/github.com/spf13/pflag/uint32.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/uint64.go b/vendor/github.com/spf13/pflag/uint64.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/uint64.go rename to vendor/github.com/spf13/pflag/uint64.go diff --git a/Godeps/_workspace/src/github.com/spf13/pflag/uint8.go b/vendor/github.com/spf13/pflag/uint8.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/pflag/uint8.go rename to vendor/github.com/spf13/pflag/uint8.go diff --git a/Godeps/_workspace/src/github.com/spf13/viper/.gitignore b/vendor/github.com/spf13/viper/.gitignore similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/.gitignore rename to vendor/github.com/spf13/viper/.gitignore diff --git a/Godeps/_workspace/src/github.com/spf13/viper/.travis.yml b/vendor/github.com/spf13/viper/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/.travis.yml rename to vendor/github.com/spf13/viper/.travis.yml diff --git a/Godeps/_workspace/src/github.com/spf13/viper/LICENSE b/vendor/github.com/spf13/viper/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/LICENSE rename to vendor/github.com/spf13/viper/LICENSE diff --git a/Godeps/_workspace/src/github.com/spf13/viper/README.md b/vendor/github.com/spf13/viper/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/README.md rename to vendor/github.com/spf13/viper/README.md diff --git a/Godeps/_workspace/src/github.com/spf13/viper/flags.go b/vendor/github.com/spf13/viper/flags.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/flags.go rename to vendor/github.com/spf13/viper/flags.go diff --git a/Godeps/_workspace/src/github.com/spf13/viper/nohup.out b/vendor/github.com/spf13/viper/nohup.out similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/nohup.out rename to vendor/github.com/spf13/viper/nohup.out diff --git a/Godeps/_workspace/src/github.com/spf13/viper/util.go b/vendor/github.com/spf13/viper/util.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/util.go rename to vendor/github.com/spf13/viper/util.go diff --git a/Godeps/_workspace/src/github.com/spf13/viper/viper.go b/vendor/github.com/spf13/viper/viper.go similarity index 100% rename from Godeps/_workspace/src/github.com/spf13/viper/viper.go rename to vendor/github.com/spf13/viper/viper.go diff --git a/Godeps/_workspace/src/github.com/streamrail/concurrent-map/LICENSE b/vendor/github.com/streamrail/concurrent-map/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/streamrail/concurrent-map/LICENSE rename to vendor/github.com/streamrail/concurrent-map/LICENSE diff --git a/Godeps/_workspace/src/github.com/streamrail/concurrent-map/README.md b/vendor/github.com/streamrail/concurrent-map/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/streamrail/concurrent-map/README.md rename to vendor/github.com/streamrail/concurrent-map/README.md diff --git a/Godeps/_workspace/src/github.com/streamrail/concurrent-map/concurrent_map.go b/vendor/github.com/streamrail/concurrent-map/concurrent_map.go similarity index 100% rename from Godeps/_workspace/src/github.com/streamrail/concurrent-map/concurrent_map.go rename to vendor/github.com/streamrail/concurrent-map/concurrent_map.go diff --git a/Godeps/_workspace/src/github.com/streamrail/concurrent-map/concurrent_map_template.txt b/vendor/github.com/streamrail/concurrent-map/concurrent_map_template.txt similarity index 100% rename from Godeps/_workspace/src/github.com/streamrail/concurrent-map/concurrent_map_template.txt rename to vendor/github.com/streamrail/concurrent-map/concurrent_map_template.txt diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/.travis.yml b/vendor/github.com/vishvananda/netlink/.travis.yml similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/.travis.yml rename to vendor/github.com/vishvananda/netlink/.travis.yml diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/LICENSE b/vendor/github.com/vishvananda/netlink/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/LICENSE rename to vendor/github.com/vishvananda/netlink/LICENSE diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/Makefile b/vendor/github.com/vishvananda/netlink/Makefile similarity index 93% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/Makefile rename to vendor/github.com/vishvananda/netlink/Makefile index 8dc5a92e..6c8413b1 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/Makefile +++ b/vendor/github.com/vishvananda/netlink/Makefile @@ -21,7 +21,7 @@ $(call testdirs,$(DIRS)): sudo -E go test -test.parallel 4 -timeout 60s -v github.com/vishvananda/netlink/$@ $(call fmt,$(call testdirs,$(DIRS))): - ! gofmt -l $(subst fmt-,,$@)/*.go | grep '' + ! gofmt -l $(subst fmt-,,$@)/*.go | grep -q . .PHONY: fmt fmt: $(call fmt,$(call testdirs,$(DIRS))) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/README.md b/vendor/github.com/vishvananda/netlink/README.md similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/README.md rename to vendor/github.com/vishvananda/netlink/README.md diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/addr.go b/vendor/github.com/vishvananda/netlink/addr.go similarity index 77% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/addr.go rename to vendor/github.com/vishvananda/netlink/addr.go index 079fff3b..fe3e3d36 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/addr.go +++ b/vendor/github.com/vishvananda/netlink/addr.go @@ -10,9 +10,11 @@ import ( // include a mask, so it stores the address as a net.IPNet. type Addr struct { *net.IPNet - Label string - Flags int - Scope int + Label string + Flags int + Scope int + Peer *net.IPNet + Broadcast net.IP } // String returns $ip/$netmask $label @@ -43,3 +45,10 @@ func (a Addr) Equal(x Addr) bool { // ignore label for comparison return a.IP.Equal(x.IP) && sizea == sizeb } + +func (a Addr) PeerEqual(x Addr) bool { + sizea, _ := a.Peer.Mask.Size() + sizeb, _ := x.Peer.Mask.Size() + // ignore label for comparison + return a.Peer.IP.Equal(x.Peer.IP) && sizea == sizeb +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/addr_linux.go b/vendor/github.com/vishvananda/netlink/addr_linux.go similarity index 82% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/addr_linux.go rename to vendor/github.com/vishvananda/netlink/addr_linux.go index b5eec650..5348e403 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/addr_linux.go +++ b/vendor/github.com/vishvananda/netlink/addr_linux.go @@ -8,6 +8,7 @@ import ( "syscall" "github.com/vishvananda/netlink/nl" + "github.com/vishvananda/netns" ) // IFA_FLAGS is a u32 attribute. @@ -55,17 +56,27 @@ func (h *Handle) addrHandle(link Link, addr *Addr, req *nl.NetlinkRequest) error msg.Prefixlen = uint8(prefixlen) req.AddData(msg) - var addrData []byte + var localAddrData []byte if family == FAMILY_V4 { - addrData = addr.IP.To4() + localAddrData = addr.IP.To4() } else { - addrData = addr.IP.To16() + localAddrData = addr.IP.To16() } - localData := nl.NewRtAttr(syscall.IFA_LOCAL, addrData) + localData := nl.NewRtAttr(syscall.IFA_LOCAL, localAddrData) req.AddData(localData) + var peerAddrData []byte + if addr.Peer != nil { + if family == FAMILY_V4 { + peerAddrData = addr.Peer.IP.To4() + } else { + peerAddrData = addr.Peer.IP.To16() + } + } else { + peerAddrData = localAddrData + } - addressData := nl.NewRtAttr(syscall.IFA_ADDRESS, addrData) + addressData := nl.NewRtAttr(syscall.IFA_ADDRESS, peerAddrData) req.AddData(addressData) if addr.Flags != 0 { @@ -79,6 +90,10 @@ func (h *Handle) addrHandle(link Link, addr *Addr, req *nl.NetlinkRequest) error } } + if addr.Broadcast != nil { + req.AddData(nl.NewRtAttr(syscall.IFA_BROADCAST, addr.Broadcast)) + } + if addr.Label != "" { labelData := nl.NewRtAttr(syscall.IFA_LABEL, nl.ZeroTerminated(addr.Label)) req.AddData(labelData) @@ -160,11 +175,13 @@ func parseAddr(m []byte) (addr Addr, family, index int, err error) { IP: attr.Value, Mask: net.CIDRMask(int(msg.Prefixlen), 8*len(attr.Value)), } + addr.Peer = dst case syscall.IFA_LOCAL: local = &net.IPNet{ IP: attr.Value, Mask: net.CIDRMask(int(msg.Prefixlen), 8*len(attr.Value)), } + addr.IPNet = local case syscall.IFA_LABEL: addr.Label = string(attr.Value[:len(attr.Value)-1]) case IFA_FLAGS: @@ -192,7 +209,17 @@ type AddrUpdate struct { // AddrSubscribe takes a chan down which notifications will be sent // when addresses change. Close the 'done' chan to stop subscription. func AddrSubscribe(ch chan<- AddrUpdate, done <-chan struct{}) error { - s, err := nl.Subscribe(syscall.NETLINK_ROUTE, syscall.RTNLGRP_IPV4_IFADDR, syscall.RTNLGRP_IPV6_IFADDR) + return addrSubscribe(netns.None(), netns.None(), ch, done) +} + +// AddrSubscribeAt works like AddrSubscribe plus it allows the caller +// to choose the network namespace in which to subscribe (ns). +func AddrSubscribeAt(ns netns.NsHandle, ch chan<- AddrUpdate, done <-chan struct{}) error { + return addrSubscribe(ns, netns.None(), ch, done) +} + +func addrSubscribe(newNs, curNs netns.NsHandle, ch chan<- AddrUpdate, done <-chan struct{}) error { + s, err := nl.SubscribeAt(newNs, curNs, syscall.NETLINK_ROUTE, syscall.RTNLGRP_IPV4_IFADDR, syscall.RTNLGRP_IPV6_IFADDR) if err != nil { return err } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/bpf_linux.go b/vendor/github.com/vishvananda/netlink/bpf_linux.go similarity index 80% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/bpf_linux.go rename to vendor/github.com/vishvananda/netlink/bpf_linux.go index acd94901..53374398 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/bpf_linux.go +++ b/vendor/github.com/vishvananda/netlink/bpf_linux.go @@ -8,11 +8,11 @@ package netlink #include #include -static int load_simple_bpf(int prog_type) { +static int load_simple_bpf(int prog_type, int ret) { #ifdef __NR_bpf - // { return 1; } + // { return ret; } __u64 __attribute__((aligned(8))) insns[] = { - 0x00000001000000b7ull, + 0x00000000000000b7ull | ((__u64)ret<<32), 0x0000000000000095ull, }; __u8 __attribute__((aligned(8))) license[] = "ASL2"; @@ -51,10 +51,12 @@ const ( BPF_PROG_TYPE_KPROBE BPF_PROG_TYPE_SCHED_CLS BPF_PROG_TYPE_SCHED_ACT + BPF_PROG_TYPE_TRACEPOINT + BPF_PROG_TYPE_XDP ) // loadSimpleBpf loads a trivial bpf program for testing purposes -func loadSimpleBpf(progType BpfProgType) (int, error) { - fd, err := C.load_simple_bpf(C.int(progType)) +func loadSimpleBpf(progType BpfProgType, ret int) (int, error) { + fd, err := C.load_simple_bpf(C.int(progType), C.int(ret)) return int(fd), err } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/class.go b/vendor/github.com/vishvananda/netlink/class.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/class.go rename to vendor/github.com/vishvananda/netlink/class.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/class_linux.go b/vendor/github.com/vishvananda/netlink/class_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/class_linux.go rename to vendor/github.com/vishvananda/netlink/class_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/filter.go b/vendor/github.com/vishvananda/netlink/filter.go similarity index 98% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/filter.go rename to vendor/github.com/vishvananda/netlink/filter.go index 116aeba0..bc8a1e96 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/filter.go +++ b/vendor/github.com/vishvananda/netlink/filter.go @@ -60,7 +60,7 @@ func (a TcAct) String() string { case TC_ACT_JUMP: return "jump" } - return fmt.Sprintf("0x%x", a) + return fmt.Sprintf("0x%x", int32(a)) } type TcPolAct int32 @@ -86,7 +86,7 @@ func (a TcPolAct) String() string { case TC_POLICE_PIPE: return "pipe" } - return fmt.Sprintf("0x%x", a) + return fmt.Sprintf("0x%x", int32(a)) } type ActionAttrs struct { diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/filter_linux.go b/vendor/github.com/vishvananda/netlink/filter_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/filter_linux.go rename to vendor/github.com/vishvananda/netlink/filter_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/handle_linux.go b/vendor/github.com/vishvananda/netlink/handle_linux.go similarity index 75% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/handle_linux.go rename to vendor/github.com/vishvananda/netlink/handle_linux.go index 53779887..a04ceae6 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/handle_linux.go +++ b/vendor/github.com/vishvananda/netlink/handle_linux.go @@ -1,7 +1,9 @@ package netlink import ( + "fmt" "syscall" + "time" "github.com/vishvananda/netlink/nl" "github.com/vishvananda/netns" @@ -33,6 +35,29 @@ func NewHandle(nlFamilies ...int) (*Handle, error) { return newHandle(netns.None(), netns.None(), nlFamilies...) } +// SetSocketTimeout sets the send and receive timeout for each socket in the +// netlink handle. Although the socket timeout has granularity of one +// microsecond, the effective granularity is floored by the kernel timer tick, +// which default value is four milliseconds. +func (h *Handle) SetSocketTimeout(to time.Duration) error { + if to < time.Microsecond { + return fmt.Errorf("invalid timeout, minimul value is %s", time.Microsecond) + } + tv := syscall.NsecToTimeval(to.Nanoseconds()) + for _, sh := range h.sockets { + fd := sh.Socket.GetFd() + err := syscall.SetsockoptTimeval(fd, syscall.SOL_SOCKET, syscall.SO_RCVTIMEO, &tv) + if err != nil { + return err + } + err = syscall.SetsockoptTimeval(fd, syscall.SOL_SOCKET, syscall.SO_SNDTIMEO, &tv) + if err != nil { + return err + } + } + return nil +} + // NewHandle returns a netlink handle on the network namespace // specified by ns. If ns=netns.None(), current network namespace // will be assumed diff --git a/vendor/github.com/vishvananda/netlink/handle_unspecified.go b/vendor/github.com/vishvananda/netlink/handle_unspecified.go new file mode 100644 index 00000000..32cf0227 --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/handle_unspecified.go @@ -0,0 +1,218 @@ +// +build !linux + +package netlink + +import ( + "net" + "time" + + "github.com/vishvananda/netns" +) + +type Handle struct{} + +func NewHandle(nlFamilies ...int) (*Handle, error) { + return nil, ErrNotImplemented +} + +func NewHandleAt(ns netns.NsHandle, nlFamilies ...int) (*Handle, error) { + return nil, ErrNotImplemented +} + +func NewHandleAtFrom(newNs, curNs netns.NsHandle) (*Handle, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) Delete() {} + +func (h *Handle) SupportsNetlinkFamily(nlFamily int) bool { + return false +} + +func (h *Handle) SetSocketTimeout(to time.Duration) error { + return ErrNotImplemented +} + +func (h *Handle) SetPromiscOn(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) SetPromiscOff(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetUp(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetDown(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetMTU(link Link, mtu int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetName(link Link, name string) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetAlias(link Link, name string) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetHardwareAddr(link Link, hwaddr net.HardwareAddr) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetVfHardwareAddr(link Link, vf int, hwaddr net.HardwareAddr) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetVfVlan(link Link, vf, vlan int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetVfTxRate(link Link, vf, rate int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetMaster(link Link, master *Bridge) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetNoMaster(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetMasterByIndex(link Link, masterIndex int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetNsPid(link Link, nspid int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetNsFd(link Link, fd int) error { + return ErrNotImplemented +} + +func (h *Handle) LinkAdd(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkDel(link Link) error { + return ErrNotImplemented +} + +func (h *Handle) LinkByName(name string) (Link, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) LinkByAlias(alias string) (Link, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) LinkByIndex(index int) (Link, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) LinkList() ([]Link, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) LinkSetHairpin(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetGuard(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetFastLeave(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetLearning(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetRootBlock(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) LinkSetFlood(link Link, mode bool) error { + return ErrNotImplemented +} + +func (h *Handle) setProtinfoAttr(link Link, mode bool, attr int) error { + return ErrNotImplemented +} + +func (h *Handle) AddrAdd(link Link, addr *Addr) error { + return ErrNotImplemented +} + +func (h *Handle) AddrDel(link Link, addr *Addr) error { + return ErrNotImplemented +} + +func (h *Handle) AddrList(link Link, family int) ([]Addr, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) ClassDel(class Class) error { + return ErrNotImplemented +} + +func (h *Handle) ClassChange(class Class) error { + return ErrNotImplemented +} + +func (h *Handle) ClassReplace(class Class) error { + return ErrNotImplemented +} + +func (h *Handle) ClassAdd(class Class) error { + return ErrNotImplemented +} + +func (h *Handle) ClassList(link Link, parent uint32) ([]Class, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) FilterDel(filter Filter) error { + return ErrNotImplemented +} + +func (h *Handle) FilterAdd(filter Filter) error { + return ErrNotImplemented +} + +func (h *Handle) FilterList(link Link, parent uint32) ([]Filter, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) NeighAdd(neigh *Neigh) error { + return ErrNotImplemented +} + +func (h *Handle) NeighSet(neigh *Neigh) error { + return ErrNotImplemented +} + +func (h *Handle) NeighAppend(neigh *Neigh) error { + return ErrNotImplemented +} + +func (h *Handle) NeighDel(neigh *Neigh) error { + return ErrNotImplemented +} + +func (h *Handle) NeighList(linkIndex, family int) ([]Neigh, error) { + return nil, ErrNotImplemented +} + +func (h *Handle) NeighProxyList(linkIndex, family int) ([]Neigh, error) { + return nil, ErrNotImplemented +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/link.go b/vendor/github.com/vishvananda/netlink/link.go similarity index 76% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/link.go rename to vendor/github.com/vishvananda/netlink/link.go index 9dbc2215..924211cd 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/link.go +++ b/vendor/github.com/vishvananda/netlink/link.go @@ -26,11 +26,50 @@ type LinkAttrs struct { Name string HardwareAddr net.HardwareAddr Flags net.Flags + RawFlags uint32 ParentIndex int // index of the parent link device MasterIndex int // must be the index of a bridge Namespace interface{} // nil | NsPid | NsFd Alias string Statistics *LinkStatistics + Promisc int + Xdp *LinkXdp + EncapType string + Protinfo *Protinfo + OperState LinkOperState +} + +// LinkOperState represents the values of the IFLA_OPERSTATE link +// attribute, which contains the RFC2863 state of the interface. +type LinkOperState uint8 + +const ( + OperUnknown = iota // Status can't be determined. + OperNotPresent // Some component is missing. + OperDown // Down. + OperLowerLayerDown // Down due to state of lower layer. + OperTesting // In some test mode. + OperDormant // Not up but pending an external event. + OperUp // Up, ready to send packets. +) + +func (s LinkOperState) String() string { + switch s { + case OperNotPresent: + return "not-present" + case OperDown: + return "down" + case OperLowerLayerDown: + return "lower-layer-down" + case OperTesting: + return "testing" + case OperDormant: + return "dormant" + case OperUp: + return "up" + default: + return "unknown" + } } // NewLinkAttrs returns LinkAttrs structure filled with default values @@ -40,10 +79,12 @@ func NewLinkAttrs() LinkAttrs { } } +type LinkStatistics LinkStatistics64 + /* Ref: struct rtnl_link_stats {...} */ -type LinkStatistics struct { +type LinkStatistics32 struct { RxPackets uint32 TxPackets uint32 RxBytes uint32 @@ -69,6 +110,68 @@ type LinkStatistics struct { TxCompressed uint32 } +func (s32 LinkStatistics32) to64() *LinkStatistics64 { + return &LinkStatistics64{ + RxPackets: uint64(s32.RxPackets), + TxPackets: uint64(s32.TxPackets), + RxBytes: uint64(s32.RxBytes), + TxBytes: uint64(s32.TxBytes), + RxErrors: uint64(s32.RxErrors), + TxErrors: uint64(s32.TxErrors), + RxDropped: uint64(s32.RxDropped), + TxDropped: uint64(s32.TxDropped), + Multicast: uint64(s32.Multicast), + Collisions: uint64(s32.Collisions), + RxLengthErrors: uint64(s32.RxLengthErrors), + RxOverErrors: uint64(s32.RxOverErrors), + RxCrcErrors: uint64(s32.RxCrcErrors), + RxFrameErrors: uint64(s32.RxFrameErrors), + RxFifoErrors: uint64(s32.RxFifoErrors), + RxMissedErrors: uint64(s32.RxMissedErrors), + TxAbortedErrors: uint64(s32.TxAbortedErrors), + TxCarrierErrors: uint64(s32.TxCarrierErrors), + TxFifoErrors: uint64(s32.TxFifoErrors), + TxHeartbeatErrors: uint64(s32.TxHeartbeatErrors), + TxWindowErrors: uint64(s32.TxWindowErrors), + RxCompressed: uint64(s32.RxCompressed), + TxCompressed: uint64(s32.TxCompressed), + } +} + +/* +Ref: struct rtnl_link_stats64 {...} +*/ +type LinkStatistics64 struct { + RxPackets uint64 + TxPackets uint64 + RxBytes uint64 + TxBytes uint64 + RxErrors uint64 + TxErrors uint64 + RxDropped uint64 + TxDropped uint64 + Multicast uint64 + Collisions uint64 + RxLengthErrors uint64 + RxOverErrors uint64 + RxCrcErrors uint64 + RxFrameErrors uint64 + RxFifoErrors uint64 + RxMissedErrors uint64 + TxAbortedErrors uint64 + TxCarrierErrors uint64 + TxFifoErrors uint64 + TxHeartbeatErrors uint64 + TxWindowErrors uint64 + RxCompressed uint64 + TxCompressed uint64 +} + +type LinkXdp struct { + Fd int + Attached bool +} + // Device links cannot be created via netlink. These links // are links created by udev like 'lo' and 'etho0' type Device struct { @@ -171,11 +274,13 @@ func (macvtap Macvtap) Type() string { } type TuntapMode uint16 +type TuntapFlag uint16 // Tuntap links created via /dev/tun/tap, but can be destroyed via netlink type Tuntap struct { LinkAttrs - Mode TuntapMode + Mode TuntapMode + Flags TuntapFlag } func (tuntap *Tuntap) Attrs() *LinkAttrs { @@ -251,6 +356,7 @@ type IPVlanMode uint16 const ( IPVLAN_MODE_L2 IPVlanMode = iota IPVLAN_MODE_L3 + IPVLAN_MODE_L3S IPVLAN_MODE_MAX ) @@ -289,31 +395,31 @@ func StringToBondMode(s string) BondMode { // Possible BondMode const ( - BOND_MODE_802_3AD BondMode = iota - BOND_MODE_BALANCE_RR + BOND_MODE_BALANCE_RR BondMode = iota BOND_MODE_ACTIVE_BACKUP BOND_MODE_BALANCE_XOR BOND_MODE_BROADCAST + BOND_MODE_802_3AD BOND_MODE_BALANCE_TLB BOND_MODE_BALANCE_ALB BOND_MODE_UNKNOWN ) var bondModeToString = map[BondMode]string{ - BOND_MODE_802_3AD: "802.3ad", BOND_MODE_BALANCE_RR: "balance-rr", BOND_MODE_ACTIVE_BACKUP: "active-backup", BOND_MODE_BALANCE_XOR: "balance-xor", BOND_MODE_BROADCAST: "broadcast", + BOND_MODE_802_3AD: "802.3ad", BOND_MODE_BALANCE_TLB: "balance-tlb", BOND_MODE_BALANCE_ALB: "balance-alb", } var StringToBondModeMap = map[string]BondMode{ - "802.3ad": BOND_MODE_802_3AD, "balance-rr": BOND_MODE_BALANCE_RR, "active-backup": BOND_MODE_ACTIVE_BACKUP, "balance-xor": BOND_MODE_BALANCE_XOR, "broadcast": BOND_MODE_BROADCAST, + "802.3ad": BOND_MODE_802_3AD, "balance-tlb": BOND_MODE_BALANCE_TLB, "balance-alb": BOND_MODE_BALANCE_ALB, } @@ -577,6 +683,54 @@ func (gretap *Gretap) Type() string { return "gretap" } +type Iptun struct { + LinkAttrs + Ttl uint8 + Tos uint8 + PMtuDisc uint8 + Link uint32 + Local net.IP + Remote net.IP +} + +func (iptun *Iptun) Attrs() *LinkAttrs { + return &iptun.LinkAttrs +} + +func (iptun *Iptun) Type() string { + return "ipip" +} + +type Vti struct { + LinkAttrs + IKey uint32 + OKey uint32 + Link uint32 + Local net.IP + Remote net.IP +} + +func (vti *Vti) Attrs() *LinkAttrs { + return &vti.LinkAttrs +} + +func (iptun *Vti) Type() string { + return "vti" +} + +type Vrf struct { + LinkAttrs + Table uint32 +} + +func (vrf *Vrf) Attrs() *LinkAttrs { + return &vrf.LinkAttrs +} + +func (vrf *Vrf) Type() string { + return "vrf" +} + // iproute2 supported devices; // vlan | veth | vcan | dummy | ifb | macvlan | macvtap | // bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan | diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/link_linux.go b/vendor/github.com/vishvananda/netlink/link_linux.go similarity index 81% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/link_linux.go rename to vendor/github.com/vishvananda/netlink/link_linux.go index 08a93843..56409eb2 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/link_linux.go +++ b/vendor/github.com/vishvananda/netlink/link_linux.go @@ -10,16 +10,25 @@ import ( "unsafe" "github.com/vishvananda/netlink/nl" + "github.com/vishvananda/netns" ) -const SizeofLinkStats = 0x5c +const ( + SizeofLinkStats32 = 0x5c + SizeofLinkStats64 = 0xd8 + IFLA_STATS64 = 0x17 // syscall pkg does not contain this one +) const ( - TUNTAP_MODE_TUN TuntapMode = syscall.IFF_TUN - TUNTAP_MODE_TAP TuntapMode = syscall.IFF_TAP + TUNTAP_MODE_TUN TuntapMode = syscall.IFF_TUN + TUNTAP_MODE_TAP TuntapMode = syscall.IFF_TAP + TUNTAP_DEFAULTS TuntapFlag = syscall.IFF_TUN_EXCL | syscall.IFF_ONE_QUEUE + TUNTAP_VNET_HDR TuntapFlag = syscall.IFF_VNET_HDR + TUNTAP_TUN_EXCL TuntapFlag = syscall.IFF_TUN_EXCL + TUNTAP_NO_PI TuntapFlag = syscall.IFF_NO_PI + TUNTAP_ONE_QUEUE TuntapFlag = syscall.IFF_ONE_QUEUE ) -var native = nl.NativeEndian() var lookupByDump = false var macvlanModes = [...]uint32{ @@ -49,6 +58,44 @@ func (h *Handle) ensureIndex(link *LinkAttrs) { } } +func (h *Handle) SetPromiscOn(link Link) error { + base := link.Attrs() + h.ensureIndex(base) + req := h.newNetlinkRequest(syscall.RTM_SETLINK, syscall.NLM_F_ACK) + + msg := nl.NewIfInfomsg(syscall.AF_UNSPEC) + msg.Change = syscall.IFF_PROMISC + msg.Flags = syscall.IFF_UP + msg.Index = int32(base.Index) + req.AddData(msg) + + _, err := req.Execute(syscall.NETLINK_ROUTE, 0) + return err +} + +func SetPromiscOn(link Link) error { + return pkgHandle.SetPromiscOn(link) +} + +func (h *Handle) SetPromiscOff(link Link) error { + base := link.Attrs() + h.ensureIndex(base) + req := h.newNetlinkRequest(syscall.RTM_SETLINK, syscall.NLM_F_ACK) + + msg := nl.NewIfInfomsg(syscall.AF_UNSPEC) + msg.Change = syscall.IFF_PROMISC + msg.Flags = 0 & ^syscall.IFF_UP + msg.Index = int32(base.Index) + req.AddData(msg) + + _, err := req.Execute(syscall.NETLINK_ROUTE, 0) + return err +} + +func SetPromiscOff(link Link) error { + return pkgHandle.SetPromiscOff(link) +} + // LinkSetUp enables the link device. // Equivalent to: `ip link set $link up` func LinkSetUp(link Link) error { @@ -254,6 +301,36 @@ func (h *Handle) LinkSetVfVlan(link Link, vf, vlan int) error { return err } +// LinkSetVfTxRate sets the tx rate of a vf for the link. +// Equivalent to: `ip link set $link vf $vf rate $rate` +func LinkSetVfTxRate(link Link, vf, rate int) error { + return pkgHandle.LinkSetVfTxRate(link, vf, rate) +} + +// LinkSetVfTxRate sets the tx rate of a vf for the link. +// Equivalent to: `ip link set $link vf $vf rate $rate` +func (h *Handle) LinkSetVfTxRate(link Link, vf, rate int) error { + base := link.Attrs() + h.ensureIndex(base) + req := h.newNetlinkRequest(syscall.RTM_SETLINK, syscall.NLM_F_ACK) + + msg := nl.NewIfInfomsg(syscall.AF_UNSPEC) + msg.Index = int32(base.Index) + req.AddData(msg) + + data := nl.NewRtAttr(nl.IFLA_VFINFO_LIST, nil) + info := nl.NewRtAttrChild(data, nl.IFLA_VF_INFO, nil) + vfmsg := nl.VfTxRate{ + Vf: uint32(vf), + Rate: uint32(rate), + } + nl.NewRtAttrChild(info, nl.IFLA_VF_TX_RATE, vfmsg.Serialize()) + req.AddData(data) + + _, err := req.Execute(syscall.NETLINK_ROUTE, 0) + return err +} + // LinkSetMaster sets the master of the link device. // Equivalent to: `ip link set $link master $master` func LinkSetMaster(link Link, master *Bridge) error { @@ -372,6 +449,23 @@ func (h *Handle) LinkSetNsFd(link Link, fd int) error { return err } +// LinkSetXdpFd adds a bpf function to the driver. The fd must be a bpf +// program loaded with bpf(type=BPF_PROG_TYPE_XDP) +func LinkSetXdpFd(link Link, fd int) error { + base := link.Attrs() + ensureIndex(base) + req := nl.NewNetlinkRequest(syscall.RTM_SETLINK, syscall.NLM_F_ACK) + + msg := nl.NewIfInfomsg(syscall.AF_UNSPEC) + msg.Index = int32(base.Index) + req.AddData(msg) + + addXdpAttrs(&LinkXdp{Fd: fd}, req) + + _, err := req.Execute(syscall.NETLINK_ROUTE, 0) + return err +} + func boolAttr(val bool) []byte { var v uint8 if val { @@ -425,7 +519,7 @@ func addVxlanAttrs(vxlan *Vxlan, linkInfo *nl.RtAttr) { nl.NewRtAttrChild(data, nl.IFLA_VXLAN_UDP_CSUM, boolAttr(vxlan.UDPCSum)) } if vxlan.GBP { - nl.NewRtAttrChild(data, nl.IFLA_VXLAN_GBP, boolAttr(vxlan.GBP)) + nl.NewRtAttrChild(data, nl.IFLA_VXLAN_GBP, []byte{}) } if vxlan.NoAge { nl.NewRtAttrChild(data, nl.IFLA_VXLAN_AGEING, nl.Uint32Attr(0)) @@ -551,9 +645,7 @@ func (h *Handle) LinkAdd(link Link) error { if tuntap, ok := link.(*Tuntap); ok { // TODO: support user // TODO: support group - // TODO: support non- one_queue - // TODO: support pi | vnet_hdr | multi_queue - // TODO: support non- exclusive + // TODO: multi_queue // TODO: support non- persistent if tuntap.Mode < syscall.IFF_TUN || tuntap.Mode > syscall.IFF_TAP { return fmt.Errorf("Tuntap.Mode %v unknown!", tuntap.Mode) @@ -564,10 +656,13 @@ func (h *Handle) LinkAdd(link Link) error { } defer file.Close() var req ifReq - req.Flags |= syscall.IFF_ONE_QUEUE - req.Flags |= syscall.IFF_TUN_EXCL - copy(req.Name[:15], base.Name) + if tuntap.Flags == 0 { + req.Flags = uint16(TUNTAP_DEFAULTS) + } else { + req.Flags = uint16(tuntap.Flags) + } req.Flags |= uint16(tuntap.Mode) + copy(req.Name[:15], base.Name) _, _, errno := syscall.Syscall(syscall.SYS_IOCTL, file.Fd(), uintptr(syscall.TUNSETIFF), uintptr(unsafe.Pointer(&req))) if errno != 0 { return fmt.Errorf("Tuntap IOCTL TUNSETIFF failed, errno %v", errno) @@ -648,6 +743,10 @@ func (h *Handle) LinkAdd(link Link) error { req.AddData(attr) } + if base.Xdp != nil { + addXdpAttrs(base.Xdp, req) + } + linkInfo := nl.NewRtAttr(syscall.IFLA_LINKINFO, nil) nl.NewRtAttrChild(linkInfo, nl.IFLA_INFO_KIND, nl.NonZeroTerminated(link.Type())) @@ -687,6 +786,12 @@ func (h *Handle) LinkAdd(link Link) error { } } else if gretap, ok := link.(*Gretap); ok { addGretapAttrs(gretap, linkInfo) + } else if iptun, ok := link.(*Iptun); ok { + addIptunAttrs(iptun, linkInfo) + } else if vti, ok := link.(*Vti); ok { + addVtiAttrs(vti, linkInfo) + } else if vrf, ok := link.(*Vrf); ok { + addVrfAttrs(vrf, linkInfo) } req.AddData(linkInfo) @@ -853,7 +958,7 @@ func execGetLink(req *nl.NetlinkRequest) (Link, error) { return nil, fmt.Errorf("Link not found") case len(msgs) == 1: - return linkDeserialize(msgs[0]) + return LinkDeserialize(nil, msgs[0]) default: return nil, fmt.Errorf("More than one link found") @@ -862,7 +967,7 @@ func execGetLink(req *nl.NetlinkRequest) (Link, error) { // linkDeserialize deserializes a raw message received from netlink into // a link object. -func linkDeserialize(m []byte) (Link, error) { +func LinkDeserialize(hdr *syscall.NlMsghdr, m []byte) (Link, error) { msg := nl.DeserializeIfInfomsg(m) attrs, err := nl.ParseRouteAttr(m[msg.Len():]) @@ -870,9 +975,16 @@ func linkDeserialize(m []byte) (Link, error) { return nil, err } - base := LinkAttrs{Index: int(msg.Index), Flags: linkFlags(msg.Flags)} - var link Link - linkType := "" + base := LinkAttrs{Index: int(msg.Index), RawFlags: msg.Flags, Flags: linkFlags(msg.Flags), EncapType: msg.EncapType()} + if msg.Flags&syscall.IFF_PROMISC != 0 { + base.Promisc = 1 + } + var ( + link Link + stats32 []byte + stats64 []byte + linkType string + ) for _, attr := range attrs { switch attr.Attr.Type { case syscall.IFLA_LINKINFO: @@ -907,6 +1019,12 @@ func linkDeserialize(m []byte) (Link, error) { link = &Macvtap{} case "gretap": link = &Gretap{} + case "ipip": + link = &Iptun{} + case "vti": + link = &Vti{} + case "vrf": + link = &Vrf{} default: link = &GenericLink{LinkType: linkType} } @@ -930,6 +1048,12 @@ func linkDeserialize(m []byte) (Link, error) { parseMacvtapData(link, data) case "gretap": parseGretapData(link, data) + case "ipip": + parseIptunData(link, data) + case "vti": + parseVtiData(link, data) + case "vrf": + parseVrfData(link, data) } } } @@ -956,9 +1080,35 @@ func linkDeserialize(m []byte) (Link, error) { case syscall.IFLA_IFALIAS: base.Alias = string(attr.Value[:len(attr.Value)-1]) case syscall.IFLA_STATS: - base.Statistics = parseLinkStats(attr.Value[:]) + stats32 = attr.Value[:] + case IFLA_STATS64: + stats64 = attr.Value[:] + case nl.IFLA_XDP: + xdp, err := parseLinkXdp(attr.Value[:]) + if err != nil { + return nil, err + } + base.Xdp = xdp + case syscall.IFLA_PROTINFO | syscall.NLA_F_NESTED: + if hdr != nil && hdr.Type == syscall.RTM_NEWLINK && + msg.Family == syscall.AF_BRIDGE { + attrs, err := nl.ParseRouteAttr(attr.Value[:]) + if err != nil { + return nil, err + } + base.Protinfo = parseProtinfo(attrs) + } + case syscall.IFLA_OPERSTATE: + base.OperState = LinkOperState(uint8(attr.Value[0])) } } + + if stats64 != nil { + base.Statistics = parseLinkStats64(stats64) + } else if stats32 != nil { + base.Statistics = parseLinkStats32(stats32) + } + // Links that don't have IFLA_INFO_KIND are hardware devices if link == nil { link = &Device{} @@ -991,7 +1141,7 @@ func (h *Handle) LinkList() ([]Link, error) { var res []Link for _, m := range msgs { - link, err := linkDeserialize(m) + link, err := LinkDeserialize(nil, m) if err != nil { return nil, err } @@ -1011,7 +1161,17 @@ type LinkUpdate struct { // LinkSubscribe takes a chan down which notifications will be sent // when links change. Close the 'done' chan to stop subscription. func LinkSubscribe(ch chan<- LinkUpdate, done <-chan struct{}) error { - s, err := nl.Subscribe(syscall.NETLINK_ROUTE, syscall.RTNLGRP_LINK) + return linkSubscribe(netns.None(), netns.None(), ch, done) +} + +// LinkSubscribeAt works like LinkSubscribe plus it allows the caller +// to choose the network namespace in which to subscribe (ns). +func LinkSubscribeAt(ns netns.NsHandle, ch chan<- LinkUpdate, done <-chan struct{}) error { + return linkSubscribe(ns, netns.None(), ch, done) +} + +func linkSubscribe(newNs, curNs netns.NsHandle, ch chan<- LinkUpdate, done <-chan struct{}) error { + s, err := nl.SubscribeAt(newNs, curNs, syscall.NETLINK_ROUTE, syscall.RTNLGRP_LINK) if err != nil { return err } @@ -1030,7 +1190,7 @@ func LinkSubscribe(ch chan<- LinkUpdate, done <-chan struct{}) error { } for _, m := range msgs { ifmsg := nl.DeserializeIfInfomsg(m.Data) - link, err := linkDeserialize(m.Data) + link, err := LinkDeserialize(&m.Header, m.Data) if err != nil { return } @@ -1152,7 +1312,7 @@ func parseVxlanData(link Link, data []syscall.NetlinkRouteAttr) { case nl.IFLA_VXLAN_UDP_CSUM: vxlan.UDPCSum = int8(datum.Value[0]) != 0 case nl.IFLA_VXLAN_GBP: - vxlan.GBP = int8(datum.Value[0]) != 0 + vxlan.GBP = true case nl.IFLA_VXLAN_AGEING: vxlan.Age = int(native.Uint32(datum.Value[0:4])) vxlan.NoAge = vxlan.Age == 0 @@ -1282,26 +1442,6 @@ func linkFlags(rawFlags uint32) net.Flags { return f } -func htonl(val uint32) []byte { - bytes := make([]byte, 4) - binary.BigEndian.PutUint32(bytes, val) - return bytes -} - -func htons(val uint16) []byte { - bytes := make([]byte, 2) - binary.BigEndian.PutUint16(bytes, val) - return bytes -} - -func ntohl(buf []byte) uint32 { - return binary.BigEndian.Uint32(buf) -} - -func ntohs(buf []byte) uint16 { - return binary.BigEndian.Uint16(buf) -} - func addGretapAttrs(gretap *Gretap, linkInfo *nl.RtAttr) { data := nl.NewRtAttrChild(linkInfo, nl.IFLA_INFO_DATA, nil) @@ -1375,6 +1515,128 @@ func parseGretapData(link Link, data []syscall.NetlinkRouteAttr) { } } -func parseLinkStats(data []byte) *LinkStatistics { - return (*LinkStatistics)(unsafe.Pointer(&data[0:SizeofLinkStats][0])) +func parseLinkStats32(data []byte) *LinkStatistics { + return (*LinkStatistics)((*LinkStatistics32)(unsafe.Pointer(&data[0:SizeofLinkStats32][0])).to64()) +} + +func parseLinkStats64(data []byte) *LinkStatistics { + return (*LinkStatistics)((*LinkStatistics64)(unsafe.Pointer(&data[0:SizeofLinkStats64][0]))) +} + +func addXdpAttrs(xdp *LinkXdp, req *nl.NetlinkRequest) { + attrs := nl.NewRtAttr(nl.IFLA_XDP|syscall.NLA_F_NESTED, nil) + b := make([]byte, 4) + native.PutUint32(b, uint32(xdp.Fd)) + nl.NewRtAttrChild(attrs, nl.IFLA_XDP_FD, b) + req.AddData(attrs) +} + +func parseLinkXdp(data []byte) (*LinkXdp, error) { + attrs, err := nl.ParseRouteAttr(data) + if err != nil { + return nil, err + } + xdp := &LinkXdp{} + for _, attr := range attrs { + switch attr.Attr.Type { + case nl.IFLA_XDP_FD: + xdp.Fd = int(native.Uint32(attr.Value[0:4])) + case nl.IFLA_XDP_ATTACHED: + xdp.Attached = attr.Value[0] != 0 + } + } + return xdp, nil +} + +func addIptunAttrs(iptun *Iptun, linkInfo *nl.RtAttr) { + data := nl.NewRtAttrChild(linkInfo, nl.IFLA_INFO_DATA, nil) + + ip := iptun.Local.To4() + if ip != nil { + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_LOCAL, []byte(ip)) + } + + ip = iptun.Remote.To4() + if ip != nil { + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_REMOTE, []byte(ip)) + } + + if iptun.Link != 0 { + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_LINK, nl.Uint32Attr(iptun.Link)) + } + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_PMTUDISC, nl.Uint8Attr(iptun.PMtuDisc)) + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_TTL, nl.Uint8Attr(iptun.Ttl)) + nl.NewRtAttrChild(data, nl.IFLA_IPTUN_TOS, nl.Uint8Attr(iptun.Tos)) +} + +func parseIptunData(link Link, data []syscall.NetlinkRouteAttr) { + iptun := link.(*Iptun) + for _, datum := range data { + switch datum.Attr.Type { + case nl.IFLA_IPTUN_LOCAL: + iptun.Local = net.IP(datum.Value[0:4]) + case nl.IFLA_IPTUN_REMOTE: + iptun.Remote = net.IP(datum.Value[0:4]) + case nl.IFLA_IPTUN_TTL: + iptun.Ttl = uint8(datum.Value[0]) + case nl.IFLA_IPTUN_TOS: + iptun.Tos = uint8(datum.Value[0]) + case nl.IFLA_IPTUN_PMTUDISC: + iptun.PMtuDisc = uint8(datum.Value[0]) + } + } +} + +func addVtiAttrs(vti *Vti, linkInfo *nl.RtAttr) { + data := nl.NewRtAttrChild(linkInfo, nl.IFLA_INFO_DATA, nil) + + ip := vti.Local.To4() + if ip != nil { + nl.NewRtAttrChild(data, nl.IFLA_VTI_LOCAL, []byte(ip)) + } + + ip = vti.Remote.To4() + if ip != nil { + nl.NewRtAttrChild(data, nl.IFLA_VTI_REMOTE, []byte(ip)) + } + + if vti.Link != 0 { + nl.NewRtAttrChild(data, nl.IFLA_VTI_LINK, nl.Uint32Attr(vti.Link)) + } + + nl.NewRtAttrChild(data, nl.IFLA_VTI_IKEY, htonl(vti.IKey)) + nl.NewRtAttrChild(data, nl.IFLA_VTI_OKEY, htonl(vti.OKey)) +} + +func parseVtiData(link Link, data []syscall.NetlinkRouteAttr) { + vti := link.(*Vti) + for _, datum := range data { + switch datum.Attr.Type { + case nl.IFLA_VTI_LOCAL: + vti.Local = net.IP(datum.Value[0:4]) + case nl.IFLA_VTI_REMOTE: + vti.Remote = net.IP(datum.Value[0:4]) + case nl.IFLA_VTI_IKEY: + vti.IKey = ntohl(datum.Value[0:4]) + case nl.IFLA_VTI_OKEY: + vti.OKey = ntohl(datum.Value[0:4]) + } + } +} + +func addVrfAttrs(vrf *Vrf, linkInfo *nl.RtAttr) { + data := nl.NewRtAttrChild(linkInfo, nl.IFLA_INFO_DATA, nil) + b := make([]byte, 4) + native.PutUint32(b, uint32(vrf.Table)) + nl.NewRtAttrChild(data, nl.IFLA_VRF_TABLE, b) +} + +func parseVrfData(link Link, data []syscall.NetlinkRouteAttr) { + vrf := link.(*Vrf) + for _, datum := range data { + switch datum.Attr.Type { + case nl.IFLA_VRF_TABLE: + vrf.Table = native.Uint32(datum.Value[0:4]) + } + } } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/link_tuntap_linux.go b/vendor/github.com/vishvananda/netlink/link_tuntap_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/link_tuntap_linux.go rename to vendor/github.com/vishvananda/netlink/link_tuntap_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/neigh.go b/vendor/github.com/vishvananda/netlink/neigh.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/neigh.go rename to vendor/github.com/vishvananda/netlink/neigh.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/neigh_linux.go b/vendor/github.com/vishvananda/netlink/neigh_linux.go similarity index 85% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/neigh_linux.go rename to vendor/github.com/vishvananda/netlink/neigh_linux.go index 9b6cd2c2..f069db25 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/neigh_linux.go +++ b/vendor/github.com/vishvananda/netlink/neigh_linux.go @@ -151,8 +151,10 @@ func neighHandle(neigh *Neigh, req *nl.NetlinkRequest) error { dstData := nl.NewRtAttr(NDA_DST, ipData) req.AddData(dstData) - hwData := nl.NewRtAttr(NDA_LLADDR, []byte(neigh.HardwareAddr)) - req.AddData(hwData) + if neigh.Flags != NTF_PROXY || neigh.HardwareAddr != nil { + hwData := nl.NewRtAttr(NDA_LLADDR, []byte(neigh.HardwareAddr)) + req.AddData(hwData) + } _, err := req.Execute(syscall.NETLINK_ROUTE, 0) return err @@ -165,14 +167,33 @@ func NeighList(linkIndex, family int) ([]Neigh, error) { return pkgHandle.NeighList(linkIndex, family) } +// NeighProxyList gets a list of neighbor proxies in the system. +// Equivalent to: `ip neighbor show proxy`. +// The list can be filtered by link and ip family. +func NeighProxyList(linkIndex, family int) ([]Neigh, error) { + return pkgHandle.NeighProxyList(linkIndex, family) +} + // NeighList gets a list of IP-MAC mappings in the system (ARP table). // Equivalent to: `ip neighbor show`. // The list can be filtered by link and ip family. func (h *Handle) NeighList(linkIndex, family int) ([]Neigh, error) { + return h.neighList(linkIndex, family, 0) +} + +// NeighProxyList gets a list of neighbor proxies in the system. +// Equivalent to: `ip neighbor show proxy`. +// The list can be filtered by link, ip family. +func (h *Handle) NeighProxyList(linkIndex, family int) ([]Neigh, error) { + return h.neighList(linkIndex, family, NTF_PROXY) +} + +func (h *Handle) neighList(linkIndex, family, flags int) ([]Neigh, error) { req := h.newNetlinkRequest(syscall.RTM_GETNEIGH, syscall.NLM_F_DUMP) msg := Ndmsg{ Family: uint8(family), Index: uint32(linkIndex), + Flags: uint8(flags), } req.AddData(&msg) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink.go b/vendor/github.com/vishvananda/netlink/netlink.go similarity index 87% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/netlink.go rename to vendor/github.com/vishvananda/netlink/netlink.go index d8e02f47..fb159526 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/netlink.go +++ b/vendor/github.com/vishvananda/netlink/netlink.go @@ -8,7 +8,15 @@ // interface that is loosly modeled on the iproute2 cli. package netlink -import "net" +import ( + "errors" + "net" +) + +var ( + // ErrNotImplemented is returned when a requested feature is not implemented. + ErrNotImplemented = errors.New("not implemented") +) // ParseIPNet parses a string in ip/net format and returns a net.IPNet. // This is valuable because addresses in netlink are often IPNets and diff --git a/vendor/github.com/vishvananda/netlink/netlink_linux.go b/vendor/github.com/vishvananda/netlink/netlink_linux.go new file mode 100644 index 00000000..a20d293d --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/netlink_linux.go @@ -0,0 +1,11 @@ +package netlink + +import "github.com/vishvananda/netlink/nl" + +// Family type definitions +const ( + FAMILY_ALL = nl.FAMILY_ALL + FAMILY_V4 = nl.FAMILY_V4 + FAMILY_V6 = nl.FAMILY_V6 + FAMILY_MPLS = nl.FAMILY_MPLS +) diff --git a/vendor/github.com/vishvananda/netlink/netlink_unspecified.go b/vendor/github.com/vishvananda/netlink/netlink_unspecified.go new file mode 100644 index 00000000..fa421e4e --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/netlink_unspecified.go @@ -0,0 +1,213 @@ +// +build !linux + +package netlink + +import "net" + +func LinkSetUp(link Link) error { + return ErrNotImplemented +} + +func LinkSetDown(link Link) error { + return ErrNotImplemented +} + +func LinkSetMTU(link Link, mtu int) error { + return ErrNotImplemented +} + +func LinkSetMaster(link Link, master *Link) error { + return ErrNotImplemented +} + +func LinkSetNsPid(link Link, nspid int) error { + return ErrNotImplemented +} + +func LinkSetNsFd(link Link, fd int) error { + return ErrNotImplemented +} + +func LinkSetName(link Link, name string) error { + return ErrNotImplemented +} + +func LinkSetAlias(link Link, name string) error { + return ErrNotImplemented +} + +func LinkSetHardwareAddr(link Link, hwaddr net.HardwareAddr) error { + return ErrNotImplemented +} + +func LinkSetVfHardwareAddr(link Link, vf int, hwaddr net.HardwareAddr) error { + return ErrNotImplemented +} + +func LinkSetVfVlan(link Link, vf, vlan int) error { + return ErrNotImplemented +} + +func LinkSetVfTxRate(link Link, vf, rate int) error { + return ErrNotImplemented +} + +func LinkSetNoMaster(link Link) error { + return ErrNotImplemented +} + +func LinkSetMasterByIndex(link Link, masterIndex int) error { + return ErrNotImplemented +} + +func LinkSetXdpFd(link Link, fd int) error { + return ErrNotImplemented +} + +func LinkByName(name string) (Link, error) { + return nil, ErrNotImplemented +} + +func LinkByAlias(alias string) (Link, error) { + return nil, ErrNotImplemented +} + +func LinkByIndex(index int) (Link, error) { + return nil, ErrNotImplemented +} + +func LinkSetHairpin(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkSetGuard(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkSetFastLeave(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkSetLearning(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkSetRootBlock(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkSetFlood(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkAdd(link Link) error { + return ErrNotImplemented +} + +func LinkDel(link Link) error { + return ErrNotImplemented +} + +func SetHairpin(link Link, mode bool) error { + return ErrNotImplemented +} + +func SetGuard(link Link, mode bool) error { + return ErrNotImplemented +} + +func SetFastLeave(link Link, mode bool) error { + return ErrNotImplemented +} + +func SetLearning(link Link, mode bool) error { + return ErrNotImplemented +} + +func SetRootBlock(link Link, mode bool) error { + return ErrNotImplemented +} + +func SetFlood(link Link, mode bool) error { + return ErrNotImplemented +} + +func LinkList() ([]Link, error) { + return nil, ErrNotImplemented +} + +func AddrAdd(link Link, addr *Addr) error { + return ErrNotImplemented +} + +func AddrDel(link Link, addr *Addr) error { + return ErrNotImplemented +} + +func AddrList(link Link, family int) ([]Addr, error) { + return nil, ErrNotImplemented +} + +func RouteAdd(route *Route) error { + return ErrNotImplemented +} + +func RouteDel(route *Route) error { + return ErrNotImplemented +} + +func RouteList(link Link, family int) ([]Route, error) { + return nil, ErrNotImplemented +} + +func XfrmPolicyAdd(policy *XfrmPolicy) error { + return ErrNotImplemented +} + +func XfrmPolicyDel(policy *XfrmPolicy) error { + return ErrNotImplemented +} + +func XfrmPolicyList(family int) ([]XfrmPolicy, error) { + return nil, ErrNotImplemented +} + +func XfrmStateAdd(policy *XfrmState) error { + return ErrNotImplemented +} + +func XfrmStateDel(policy *XfrmState) error { + return ErrNotImplemented +} + +func XfrmStateList(family int) ([]XfrmState, error) { + return nil, ErrNotImplemented +} + +func NeighAdd(neigh *Neigh) error { + return ErrNotImplemented +} + +func NeighSet(neigh *Neigh) error { + return ErrNotImplemented +} + +func NeighAppend(neigh *Neigh) error { + return ErrNotImplemented +} + +func NeighDel(neigh *Neigh) error { + return ErrNotImplemented +} + +func NeighList(linkIndex, family int) ([]Neigh, error) { + return nil, ErrNotImplemented +} + +func NeighDeserialize(m []byte) (*Neigh, error) { + return nil, ErrNotImplemented +} + +func SocketGet(local, remote net.Addr) (*Socket, error) { + return nil, ErrNotImplemented +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/addr_linux.go b/vendor/github.com/vishvananda/netlink/nl/addr_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/addr_linux.go rename to vendor/github.com/vishvananda/netlink/nl/addr_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/link_linux.go b/vendor/github.com/vishvananda/netlink/nl/link_linux.go similarity index 86% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/link_linux.go rename to vendor/github.com/vishvananda/netlink/nl/link_linux.go index b7f50646..6d9af569 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/link_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/link_linux.go @@ -1,13 +1,35 @@ package nl import ( + "syscall" "unsafe" ) const ( DEFAULT_CHANGE = 0xFFFFFFFF // doesn't exist in syscall - IFLA_VFINFO_LIST = 0x16 + IFLA_VFINFO_LIST = syscall.IFLA_IFALIAS + 1 + iota + IFLA_STATS64 + IFLA_VF_PORTS + IFLA_PORT_SELF + IFLA_AF_SPEC + IFLA_GROUP + IFLA_NET_NS_FD + IFLA_EXT_MASK + IFLA_PROMISCUITY + IFLA_NUM_TX_QUEUES + IFLA_NUM_RX_QUEUES + IFLA_CARRIER + IFLA_PHYS_PORT_ID + IFLA_CARRIER_CHANGES + IFLA_PHYS_SWITCH_ID + IFLA_LINK_NETNSID + IFLA_PHYS_PORT_NAME + IFLA_PROTO_DOWN + IFLA_GSO_MAX_SEGS + IFLA_GSO_MAX_SIZE + IFLA_PAD + IFLA_XDP ) const ( @@ -89,11 +111,6 @@ const ( IFLA_IPVLAN_MAX = IFLA_IPVLAN_MODE ) -const ( - // not defined in syscall - IFLA_NET_NS_FD = 28 -) - const ( IFLA_MACVLAN_UNSPEC = iota IFLA_MACVLAN_MODE @@ -394,3 +411,44 @@ func DeserializeVfRssQueryEn(b []byte) *VfRssQueryEn { func (msg *VfRssQueryEn) Serialize() []byte { return (*(*[SizeofVfRssQueryEn]byte)(unsafe.Pointer(msg)))[:] } + +const ( + IFLA_XDP_UNSPEC = iota + IFLA_XDP_FD /* fd of xdp program to attach, or -1 to remove */ + IFLA_XDP_ATTACHED /* read-only bool indicating if prog is attached */ + IFLA_XDP_MAX = IFLA_XDP_ATTACHED +) + +const ( + IFLA_IPTUN_UNSPEC = iota + IFLA_IPTUN_LINK + IFLA_IPTUN_LOCAL + IFLA_IPTUN_REMOTE + IFLA_IPTUN_TTL + IFLA_IPTUN_TOS + IFLA_IPTUN_ENCAP_LIMIT + IFLA_IPTUN_FLOWINFO + IFLA_IPTUN_FLAGS + IFLA_IPTUN_PROTO + IFLA_IPTUN_PMTUDISC + IFLA_IPTUN_6RD_PREFIX + IFLA_IPTUN_6RD_RELAY_PREFIX + IFLA_IPTUN_6RD_PREFIXLEN + IFLA_IPTUN_6RD_RELAY_PREFIXLEN + IFLA_IPTUN_MAX = IFLA_IPTUN_6RD_RELAY_PREFIXLEN +) + +const ( + IFLA_VTI_UNSPEC = iota + IFLA_VTI_LINK + IFLA_VTI_IKEY + IFLA_VTI_OKEY + IFLA_VTI_LOCAL + IFLA_VTI_REMOTE + IFLA_VTI_MAX = IFLA_VTI_REMOTE +) + +const ( + IFLA_VRF_UNSPEC = iota + IFLA_VRF_TABLE +) diff --git a/vendor/github.com/vishvananda/netlink/nl/mpls_linux.go b/vendor/github.com/vishvananda/netlink/nl/mpls_linux.go new file mode 100644 index 00000000..3915b7ee --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/nl/mpls_linux.go @@ -0,0 +1,36 @@ +package nl + +import "encoding/binary" + +const ( + MPLS_LS_LABEL_SHIFT = 12 + MPLS_LS_S_SHIFT = 8 +) + +func EncodeMPLSStack(labels ...int) []byte { + b := make([]byte, 4*len(labels)) + for idx, label := range labels { + l := label << MPLS_LS_LABEL_SHIFT + if idx == len(labels)-1 { + l |= 1 << MPLS_LS_S_SHIFT + } + binary.BigEndian.PutUint32(b[idx*4:], uint32(l)) + } + return b +} + +func DecodeMPLSStack(buf []byte) []int { + if len(buf)%4 != 0 { + return nil + } + stack := make([]int, 0, len(buf)/4) + for len(buf) > 0 { + l := binary.BigEndian.Uint32(buf[:4]) + buf = buf[4:] + stack = append(stack, int(l)>>MPLS_LS_LABEL_SHIFT) + if (l>>MPLS_LS_S_SHIFT)&1 > 0 { + break + } + } + return stack +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/nl_linux.go b/vendor/github.com/vishvananda/netlink/nl/nl_linux.go similarity index 68% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/nl_linux.go rename to vendor/github.com/vishvananda/netlink/nl/nl_linux.go index fd5550a3..fb9031e3 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/nl_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/nl_linux.go @@ -17,9 +17,10 @@ import ( const ( // Family type definitions - FAMILY_ALL = syscall.AF_UNSPEC - FAMILY_V4 = syscall.AF_INET - FAMILY_V6 = syscall.AF_INET6 + FAMILY_ALL = syscall.AF_UNSPEC + FAMILY_V4 = syscall.AF_INET + FAMILY_V6 = syscall.AF_INET6 + FAMILY_MPLS = AF_MPLS ) // SupportedNlFamilies contains the list of netlink families this netlink package supports @@ -100,6 +101,147 @@ func (msg *IfInfomsg) Len() int { return syscall.SizeofIfInfomsg } +func (msg *IfInfomsg) EncapType() string { + switch msg.Type { + case 0: + return "generic" + case syscall.ARPHRD_ETHER: + return "ether" + case syscall.ARPHRD_EETHER: + return "eether" + case syscall.ARPHRD_AX25: + return "ax25" + case syscall.ARPHRD_PRONET: + return "pronet" + case syscall.ARPHRD_CHAOS: + return "chaos" + case syscall.ARPHRD_IEEE802: + return "ieee802" + case syscall.ARPHRD_ARCNET: + return "arcnet" + case syscall.ARPHRD_APPLETLK: + return "atalk" + case syscall.ARPHRD_DLCI: + return "dlci" + case syscall.ARPHRD_ATM: + return "atm" + case syscall.ARPHRD_METRICOM: + return "metricom" + case syscall.ARPHRD_IEEE1394: + return "ieee1394" + case syscall.ARPHRD_INFINIBAND: + return "infiniband" + case syscall.ARPHRD_SLIP: + return "slip" + case syscall.ARPHRD_CSLIP: + return "cslip" + case syscall.ARPHRD_SLIP6: + return "slip6" + case syscall.ARPHRD_CSLIP6: + return "cslip6" + case syscall.ARPHRD_RSRVD: + return "rsrvd" + case syscall.ARPHRD_ADAPT: + return "adapt" + case syscall.ARPHRD_ROSE: + return "rose" + case syscall.ARPHRD_X25: + return "x25" + case syscall.ARPHRD_HWX25: + return "hwx25" + case syscall.ARPHRD_PPP: + return "ppp" + case syscall.ARPHRD_HDLC: + return "hdlc" + case syscall.ARPHRD_LAPB: + return "lapb" + case syscall.ARPHRD_DDCMP: + return "ddcmp" + case syscall.ARPHRD_RAWHDLC: + return "rawhdlc" + case syscall.ARPHRD_TUNNEL: + return "ipip" + case syscall.ARPHRD_TUNNEL6: + return "tunnel6" + case syscall.ARPHRD_FRAD: + return "frad" + case syscall.ARPHRD_SKIP: + return "skip" + case syscall.ARPHRD_LOOPBACK: + return "loopback" + case syscall.ARPHRD_LOCALTLK: + return "ltalk" + case syscall.ARPHRD_FDDI: + return "fddi" + case syscall.ARPHRD_BIF: + return "bif" + case syscall.ARPHRD_SIT: + return "sit" + case syscall.ARPHRD_IPDDP: + return "ip/ddp" + case syscall.ARPHRD_IPGRE: + return "gre" + case syscall.ARPHRD_PIMREG: + return "pimreg" + case syscall.ARPHRD_HIPPI: + return "hippi" + case syscall.ARPHRD_ASH: + return "ash" + case syscall.ARPHRD_ECONET: + return "econet" + case syscall.ARPHRD_IRDA: + return "irda" + case syscall.ARPHRD_FCPP: + return "fcpp" + case syscall.ARPHRD_FCAL: + return "fcal" + case syscall.ARPHRD_FCPL: + return "fcpl" + case syscall.ARPHRD_FCFABRIC: + return "fcfb0" + case syscall.ARPHRD_FCFABRIC + 1: + return "fcfb1" + case syscall.ARPHRD_FCFABRIC + 2: + return "fcfb2" + case syscall.ARPHRD_FCFABRIC + 3: + return "fcfb3" + case syscall.ARPHRD_FCFABRIC + 4: + return "fcfb4" + case syscall.ARPHRD_FCFABRIC + 5: + return "fcfb5" + case syscall.ARPHRD_FCFABRIC + 6: + return "fcfb6" + case syscall.ARPHRD_FCFABRIC + 7: + return "fcfb7" + case syscall.ARPHRD_FCFABRIC + 8: + return "fcfb8" + case syscall.ARPHRD_FCFABRIC + 9: + return "fcfb9" + case syscall.ARPHRD_FCFABRIC + 10: + return "fcfb10" + case syscall.ARPHRD_FCFABRIC + 11: + return "fcfb11" + case syscall.ARPHRD_FCFABRIC + 12: + return "fcfb12" + case syscall.ARPHRD_IEEE802_TR: + return "tr" + case syscall.ARPHRD_IEEE80211: + return "ieee802.11" + case syscall.ARPHRD_IEEE80211_PRISM: + return "ieee802.11/prism" + case syscall.ARPHRD_IEEE80211_RADIOTAP: + return "ieee802.11/radiotap" + case syscall.ARPHRD_IEEE802154: + return "ieee802.15.4" + + case 65534: + return "none" + case 65535: + return "void" + } + return fmt.Sprintf("unknown%d", msg.Type) +} + func rtaAlignOf(attrlen int) int { return (attrlen + syscall.RTA_ALIGNTO - 1) & ^(syscall.RTA_ALIGNTO - 1) } @@ -331,24 +473,63 @@ func getNetlinkSocket(protocol int) (*NetlinkSocket, error) { // moves back into it when done. If newNs is close, the socket will be opened // in the current network namespace. func GetNetlinkSocketAt(newNs, curNs netns.NsHandle, protocol int) (*NetlinkSocket, error) { - var err error + c, err := executeInNetns(newNs, curNs) + if err != nil { + return nil, err + } + defer c() + return getNetlinkSocket(protocol) +} +// executeInNetns sets execution of the code following this call to the +// network namespace newNs, then moves the thread back to curNs if open, +// otherwise to the current netns at the time the function was invoked +// In case of success, the caller is expected to execute the returned function +// at the end of the code that needs to be executed in the network namespace. +// Example: +// func jobAt(...) error { +// d, err := executeInNetns(...) +// if err != nil { return err} +// defer d() +// < code which needs to be executed in specific netns> +// } +// TODO: his function probably belongs to netns pkg. +func executeInNetns(newNs, curNs netns.NsHandle) (func(), error) { + var ( + err error + moveBack func(netns.NsHandle) error + closeNs func() error + unlockThd func() + ) + restore := func() { + // order matters + if moveBack != nil { + moveBack(curNs) + } + if closeNs != nil { + closeNs() + } + if unlockThd != nil { + unlockThd() + } + } if newNs.IsOpen() { runtime.LockOSThread() - defer runtime.UnlockOSThread() + unlockThd = runtime.UnlockOSThread if !curNs.IsOpen() { if curNs, err = netns.Get(); err != nil { + restore() return nil, fmt.Errorf("could not get current namespace while creating netlink socket: %v", err) } - defer curNs.Close() + closeNs = curNs.Close } if err := netns.Set(newNs); err != nil { + restore() return nil, fmt.Errorf("failed to set into network namespace %d while creating netlink socket: %v", newNs, err) } - defer netns.Set(curNs) + moveBack = netns.Set } - - return getNetlinkSocket(protocol) + return restore, nil } // Create a netlink socket with a given protocol (e.g. NETLINK_ROUTE) @@ -377,6 +558,18 @@ func Subscribe(protocol int, groups ...uint) (*NetlinkSocket, error) { return s, nil } +// SubscribeAt works like Subscribe plus let's the caller choose the network +// namespace in which the socket would be opened (newNs). Then control goes back +// to curNs if open, otherwise to the netns at the time this function was called. +func SubscribeAt(newNs, curNs netns.NsHandle, protocol int, groups ...uint) (*NetlinkSocket, error) { + c, err := executeInNetns(newNs, curNs) + if err != nil { + return nil, err + } + defer c() + return Subscribe(protocol, groups...) +} + func (s *NetlinkSocket) Close() { syscall.Close(s.fd) s.fd = -1 @@ -464,6 +657,13 @@ func Uint32Attr(v uint32) []byte { return bytes } +func Uint64Attr(v uint64) []byte { + native := NativeEndian() + bytes := make([]byte, 8) + native.PutUint64(bytes, v) + return bytes +} + func ParseRouteAttr(b []byte) ([]syscall.NetlinkRouteAttr, error) { var attrs []syscall.NetlinkRouteAttr for len(b) >= syscall.SizeofRtAttr { diff --git a/vendor/github.com/vishvananda/netlink/nl/nl_unspecified.go b/vendor/github.com/vishvananda/netlink/nl/nl_unspecified.go new file mode 100644 index 00000000..dfc0be66 --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/nl/nl_unspecified.go @@ -0,0 +1,11 @@ +// +build !linux + +package nl + +import "encoding/binary" + +var SupportedNlFamilies = []int{} + +func NativeEndian() binary.ByteOrder { + return nil +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/route_linux.go b/vendor/github.com/vishvananda/netlink/nl/route_linux.go similarity index 58% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/route_linux.go rename to vendor/github.com/vishvananda/netlink/nl/route_linux.go index f7db88df..1a064d65 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/route_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/route_linux.go @@ -43,12 +43,38 @@ func (msg *RtMsg) Serialize() []byte { type RtNexthop struct { syscall.RtNexthop + Children []NetlinkRequestData } func DeserializeRtNexthop(b []byte) *RtNexthop { return (*RtNexthop)(unsafe.Pointer(&b[0:syscall.SizeofRtNexthop][0])) } +func (msg *RtNexthop) Len() int { + if len(msg.Children) == 0 { + return syscall.SizeofRtNexthop + } + + l := 0 + for _, child := range msg.Children { + l += rtaAlignOf(child.Len()) + } + l += syscall.SizeofRtNexthop + return rtaAlignOf(l) +} + func (msg *RtNexthop) Serialize() []byte { - return (*(*[syscall.SizeofRtNexthop]byte)(unsafe.Pointer(msg)))[:] + length := msg.Len() + msg.RtNexthop.Len = uint16(length) + buf := make([]byte, length) + copy(buf, (*(*[syscall.SizeofRtNexthop]byte)(unsafe.Pointer(msg)))[:]) + next := rtaAlignOf(syscall.SizeofRtNexthop) + if len(msg.Children) > 0 { + for _, child := range msg.Children { + childBuf := child.Serialize() + copy(buf[next:], childBuf) + next += rtaAlignOf(len(childBuf)) + } + } + return buf } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/syscall.go b/vendor/github.com/vishvananda/netlink/nl/syscall.go similarity index 64% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/syscall.go rename to vendor/github.com/vishvananda/netlink/nl/syscall.go index 47aa6322..3473e536 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/syscall.go +++ b/vendor/github.com/vishvananda/netlink/nl/syscall.go @@ -35,3 +35,34 @@ const ( FR_ACT_UNREACHABLE /* Drop with ENETUNREACH */ FR_ACT_PROHIBIT /* Drop with EACCES */ ) + +// socket diags related +const ( + SOCK_DIAG_BY_FAMILY = 20 /* linux.sock_diag.h */ + TCPDIAG_NOCOOKIE = 0xFFFFFFFF /* TCPDIAG_NOCOOKIE in net/ipv4/tcp_diag.h*/ +) + +const ( + AF_MPLS = 28 +) + +const ( + RTA_NEWDST = 0x13 + RTA_ENCAP_TYPE = 0x15 + RTA_ENCAP = 0x16 +) + +// RTA_ENCAP subtype +const ( + MPLS_IPTUNNEL_UNSPEC = iota + MPLS_IPTUNNEL_DST +) + +// light weight tunnel encap types +const ( + LWTUNNEL_ENCAP_NONE = iota + LWTUNNEL_ENCAP_MPLS + LWTUNNEL_ENCAP_IP + LWTUNNEL_ENCAP_ILA + LWTUNNEL_ENCAP_IP6 +) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/tc_linux.go b/vendor/github.com/vishvananda/netlink/nl/tc_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/tc_linux.go rename to vendor/github.com/vishvananda/netlink/nl/tc_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_linux.go b/vendor/github.com/vishvananda/netlink/nl/xfrm_linux.go similarity index 80% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_linux.go rename to vendor/github.com/vishvananda/netlink/nl/xfrm_linux.go index ebf47946..09a2ffa1 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/xfrm_linux.go @@ -11,34 +11,40 @@ const ( XFRM_INF = ^uint64(0) ) +type XfrmMsgType uint8 + +type XfrmMsg interface { + Type() XfrmMsgType +} + // Message Types const ( - XFRM_MSG_BASE = 0x10 - XFRM_MSG_NEWSA = 0x10 - XFRM_MSG_DELSA = 0x11 - XFRM_MSG_GETSA = 0x12 - XFRM_MSG_NEWPOLICY = 0x13 - XFRM_MSG_DELPOLICY = 0x14 - XFRM_MSG_GETPOLICY = 0x15 - XFRM_MSG_ALLOCSPI = 0x16 - XFRM_MSG_ACQUIRE = 0x17 - XFRM_MSG_EXPIRE = 0x18 - XFRM_MSG_UPDPOLICY = 0x19 - XFRM_MSG_UPDSA = 0x1a - XFRM_MSG_POLEXPIRE = 0x1b - XFRM_MSG_FLUSHSA = 0x1c - XFRM_MSG_FLUSHPOLICY = 0x1d - XFRM_MSG_NEWAE = 0x1e - XFRM_MSG_GETAE = 0x1f - XFRM_MSG_REPORT = 0x20 - XFRM_MSG_MIGRATE = 0x21 - XFRM_MSG_NEWSADINFO = 0x22 - XFRM_MSG_GETSADINFO = 0x23 - XFRM_MSG_NEWSPDINFO = 0x24 - XFRM_MSG_GETSPDINFO = 0x25 - XFRM_MSG_MAPPING = 0x26 - XFRM_MSG_MAX = 0x26 - XFRM_NR_MSGTYPES = 0x17 + XFRM_MSG_BASE XfrmMsgType = 0x10 + XFRM_MSG_NEWSA = 0x10 + XFRM_MSG_DELSA = 0x11 + XFRM_MSG_GETSA = 0x12 + XFRM_MSG_NEWPOLICY = 0x13 + XFRM_MSG_DELPOLICY = 0x14 + XFRM_MSG_GETPOLICY = 0x15 + XFRM_MSG_ALLOCSPI = 0x16 + XFRM_MSG_ACQUIRE = 0x17 + XFRM_MSG_EXPIRE = 0x18 + XFRM_MSG_UPDPOLICY = 0x19 + XFRM_MSG_UPDSA = 0x1a + XFRM_MSG_POLEXPIRE = 0x1b + XFRM_MSG_FLUSHSA = 0x1c + XFRM_MSG_FLUSHPOLICY = 0x1d + XFRM_MSG_NEWAE = 0x1e + XFRM_MSG_GETAE = 0x1f + XFRM_MSG_REPORT = 0x20 + XFRM_MSG_MIGRATE = 0x21 + XFRM_MSG_NEWSADINFO = 0x22 + XFRM_MSG_GETSADINFO = 0x23 + XFRM_MSG_NEWSPDINFO = 0x24 + XFRM_MSG_GETSPDINFO = 0x25 + XFRM_MSG_MAPPING = 0x26 + XFRM_MSG_MAX = 0x26 + XFRM_NR_MSGTYPES = 0x17 ) // Attribute types @@ -81,6 +87,20 @@ const ( SizeofXfrmMark = 0x08 ) +// Netlink groups +const ( + XFRMNLGRP_NONE = 0x0 + XFRMNLGRP_ACQUIRE = 0x1 + XFRMNLGRP_EXPIRE = 0x2 + XFRMNLGRP_SA = 0x3 + XFRMNLGRP_POLICY = 0x4 + XFRMNLGRP_AEVENTS = 0x5 + XFRMNLGRP_REPORT = 0x6 + XFRMNLGRP_MIGRATE = 0x7 + XFRMNLGRP_MAPPING = 0x8 + __XFRMNLGRP_MAX = 0x9 +) + // typedef union { // __be32 a4; // __be32 a6[4]; diff --git a/vendor/github.com/vishvananda/netlink/nl/xfrm_monitor_linux.go b/vendor/github.com/vishvananda/netlink/nl/xfrm_monitor_linux.go new file mode 100644 index 00000000..715df4cc --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/nl/xfrm_monitor_linux.go @@ -0,0 +1,32 @@ +package nl + +import ( + "unsafe" +) + +const ( + SizeofXfrmUserExpire = 0xe8 +) + +// struct xfrm_user_expire { +// struct xfrm_usersa_info state; +// __u8 hard; +// }; + +type XfrmUserExpire struct { + XfrmUsersaInfo XfrmUsersaInfo + Hard uint8 + Pad [7]byte +} + +func (msg *XfrmUserExpire) Len() int { + return SizeofXfrmUserExpire +} + +func DeserializeXfrmUserExpire(b []byte) *XfrmUserExpire { + return (*XfrmUserExpire)(unsafe.Pointer(&b[0:SizeofXfrmUserExpire][0])) +} + +func (msg *XfrmUserExpire) Serialize() []byte { + return (*(*[SizeofXfrmUserExpire]byte)(unsafe.Pointer(msg)))[:] +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_policy_linux.go b/vendor/github.com/vishvananda/netlink/nl/xfrm_policy_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_policy_linux.go rename to vendor/github.com/vishvananda/netlink/nl/xfrm_policy_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_state_linux.go b/vendor/github.com/vishvananda/netlink/nl/xfrm_state_linux.go similarity index 68% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_state_linux.go rename to vendor/github.com/vishvananda/netlink/nl/xfrm_state_linux.go index 482b4f37..b6290fd5 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/nl/xfrm_state_linux.go +++ b/vendor/github.com/vishvananda/netlink/nl/xfrm_state_linux.go @@ -5,13 +5,27 @@ import ( ) const ( - SizeofXfrmUsersaId = 0x18 - SizeofXfrmStats = 0x0c - SizeofXfrmUsersaInfo = 0xe0 - SizeofXfrmAlgo = 0x44 - SizeofXfrmAlgoAuth = 0x48 - SizeofXfrmEncapTmpl = 0x18 - SizeofXfrmUsersaFlush = 0x8 + SizeofXfrmUsersaId = 0x18 + SizeofXfrmStats = 0x0c + SizeofXfrmUsersaInfo = 0xe0 + SizeofXfrmUserSpiInfo = 0xe8 + SizeofXfrmAlgo = 0x44 + SizeofXfrmAlgoAuth = 0x48 + SizeofXfrmAlgoAEAD = 0x48 + SizeofXfrmEncapTmpl = 0x18 + SizeofXfrmUsersaFlush = 0x8 + SizeofXfrmReplayStateEsn = 0x18 +) + +const ( + XFRM_STATE_NOECN = 1 + XFRM_STATE_DECAP_DSCP = 2 + XFRM_STATE_NOPMTUDISC = 4 + XFRM_STATE_WILDRECV = 8 + XFRM_STATE_ICMP = 16 + XFRM_STATE_AF_UNSPEC = 32 + XFRM_STATE_ALIGN4 = 64 + XFRM_STATE_ESN = 128 ) // struct xfrm_usersa_id { @@ -119,6 +133,30 @@ func (msg *XfrmUsersaInfo) Serialize() []byte { return (*(*[SizeofXfrmUsersaInfo]byte)(unsafe.Pointer(msg)))[:] } +// struct xfrm_userspi_info { +// struct xfrm_usersa_info info; +// __u32 min; +// __u32 max; +// }; + +type XfrmUserSpiInfo struct { + XfrmUsersaInfo XfrmUsersaInfo + Min uint32 + Max uint32 +} + +func (msg *XfrmUserSpiInfo) Len() int { + return SizeofXfrmUserSpiInfo +} + +func DeserializeXfrmUserSpiInfo(b []byte) *XfrmUserSpiInfo { + return (*XfrmUserSpiInfo)(unsafe.Pointer(&b[0:SizeofXfrmUserSpiInfo][0])) +} + +func (msg *XfrmUserSpiInfo) Serialize() []byte { + return (*(*[SizeofXfrmUserSpiInfo]byte)(unsafe.Pointer(msg)))[:] +} + // struct xfrm_algo { // char alg_name[64]; // unsigned int alg_key_len; /* in bits */ @@ -194,6 +232,35 @@ func (msg *XfrmAlgoAuth) Serialize() []byte { // char alg_key[0]; // } +type XfrmAlgoAEAD struct { + AlgName [64]byte + AlgKeyLen uint32 + AlgICVLen uint32 + AlgKey []byte +} + +func (msg *XfrmAlgoAEAD) Len() int { + return SizeofXfrmAlgoAEAD + int(msg.AlgKeyLen/8) +} + +func DeserializeXfrmAlgoAEAD(b []byte) *XfrmAlgoAEAD { + ret := XfrmAlgoAEAD{} + copy(ret.AlgName[:], b[0:64]) + ret.AlgKeyLen = *(*uint32)(unsafe.Pointer(&b[64])) + ret.AlgICVLen = *(*uint32)(unsafe.Pointer(&b[68])) + ret.AlgKey = b[72:ret.Len()] + return &ret +} + +func (msg *XfrmAlgoAEAD) Serialize() []byte { + b := make([]byte, msg.Len()) + copy(b[0:64], msg.AlgName[:]) + copy(b[64:68], (*(*[4]byte)(unsafe.Pointer(&msg.AlgKeyLen)))[:]) + copy(b[68:72], (*(*[4]byte)(unsafe.Pointer(&msg.AlgICVLen)))[:]) + copy(b[72:msg.Len()], msg.AlgKey[:]) + return b +} + // struct xfrm_encap_tmpl { // __u16 encap_type; // __be16 encap_sport; @@ -240,3 +307,28 @@ func DeserializeXfrmUsersaFlush(b []byte) *XfrmUsersaFlush { func (msg *XfrmUsersaFlush) Serialize() []byte { return (*(*[SizeofXfrmUsersaFlush]byte)(unsafe.Pointer(msg)))[:] } + +// struct xfrm_replay_state_esn { +// unsigned int bmp_len; +// __u32 oseq; +// __u32 seq; +// __u32 oseq_hi; +// __u32 seq_hi; +// __u32 replay_window; +// __u32 bmp[0]; +// }; + +type XfrmReplayStateEsn struct { + BmpLen uint32 + OSeq uint32 + Seq uint32 + OSeqHi uint32 + SeqHi uint32 + ReplayWindow uint32 + Bmp []uint32 +} + +func (msg *XfrmReplayStateEsn) Serialize() []byte { + // We deliberately do not pass Bmp, as it gets set by the kernel. + return (*(*[SizeofXfrmReplayStateEsn]byte)(unsafe.Pointer(msg)))[:] +} diff --git a/vendor/github.com/vishvananda/netlink/order.go b/vendor/github.com/vishvananda/netlink/order.go new file mode 100644 index 00000000..e28e153a --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/order.go @@ -0,0 +1,32 @@ +package netlink + +import ( + "encoding/binary" + + "github.com/vishvananda/netlink/nl" +) + +var ( + native = nl.NativeEndian() + networkOrder = binary.BigEndian +) + +func htonl(val uint32) []byte { + bytes := make([]byte, 4) + binary.BigEndian.PutUint32(bytes, val) + return bytes +} + +func htons(val uint16) []byte { + bytes := make([]byte, 2) + binary.BigEndian.PutUint16(bytes, val) + return bytes +} + +func ntohl(buf []byte) uint32 { + return binary.BigEndian.Uint32(buf) +} + +func ntohs(buf []byte) uint16 { + return binary.BigEndian.Uint16(buf) +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo.go b/vendor/github.com/vishvananda/netlink/protinfo.go similarity index 94% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo.go rename to vendor/github.com/vishvananda/netlink/protinfo.go index f39ab8f4..ead3f2f1 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo.go +++ b/vendor/github.com/vishvananda/netlink/protinfo.go @@ -46,8 +46,5 @@ func boolToByte(x bool) []byte { } func byteToBool(x byte) bool { - if uint8(x) != 0 { - return true - } - return false + return uint8(x) != 0 } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo_linux.go b/vendor/github.com/vishvananda/netlink/protinfo_linux.go similarity index 61% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo_linux.go rename to vendor/github.com/vishvananda/netlink/protinfo_linux.go index 5b95d764..ea726953 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/protinfo_linux.go +++ b/vendor/github.com/vishvananda/netlink/protinfo_linux.go @@ -40,25 +40,31 @@ func (h *Handle) LinkGetProtinfo(link Link) (Protinfo, error) { if err != nil { return pi, err } - var pi Protinfo - for _, info := range infos { - switch info.Attr.Type { - case nl.IFLA_BRPORT_MODE: - pi.Hairpin = byteToBool(info.Value[0]) - case nl.IFLA_BRPORT_GUARD: - pi.Guard = byteToBool(info.Value[0]) - case nl.IFLA_BRPORT_FAST_LEAVE: - pi.FastLeave = byteToBool(info.Value[0]) - case nl.IFLA_BRPORT_PROTECT: - pi.RootBlock = byteToBool(info.Value[0]) - case nl.IFLA_BRPORT_LEARNING: - pi.Learning = byteToBool(info.Value[0]) - case nl.IFLA_BRPORT_UNICAST_FLOOD: - pi.Flood = byteToBool(info.Value[0]) - } - } + pi = *parseProtinfo(infos) + return pi, nil } } return pi, fmt.Errorf("Device with index %d not found", base.Index) } + +func parseProtinfo(infos []syscall.NetlinkRouteAttr) *Protinfo { + var pi Protinfo + for _, info := range infos { + switch info.Attr.Type { + case nl.IFLA_BRPORT_MODE: + pi.Hairpin = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_GUARD: + pi.Guard = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_FAST_LEAVE: + pi.FastLeave = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_PROTECT: + pi.RootBlock = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_LEARNING: + pi.Learning = byteToBool(info.Value[0]) + case nl.IFLA_BRPORT_UNICAST_FLOOD: + pi.Flood = byteToBool(info.Value[0]) + } + } + return &pi +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc.go b/vendor/github.com/vishvananda/netlink/qdisc.go similarity index 98% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc.go rename to vendor/github.com/vishvananda/netlink/qdisc.go index 28f65f38..0ca86ebe 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc.go +++ b/vendor/github.com/vishvananda/netlink/qdisc.go @@ -187,10 +187,11 @@ func (qdisc *Netem) Type() string { // Tbf is a classless qdisc that rate limits based on tokens type Tbf struct { QdiscAttrs - // TODO: handle 64bit rate properly - Rate uint64 - Limit uint32 - Buffer uint32 + Rate uint64 + Limit uint32 + Buffer uint32 + Peakrate uint64 + Minburst uint32 // TODO: handle other settings } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc_linux.go b/vendor/github.com/vishvananda/netlink/qdisc_linux.go similarity index 95% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc_linux.go rename to vendor/github.com/vishvananda/netlink/qdisc_linux.go index 1bb48564..2c0deddb 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/qdisc_linux.go +++ b/vendor/github.com/vishvananda/netlink/qdisc_linux.go @@ -168,11 +168,20 @@ func qdiscPayload(req *nl.NetlinkRequest, qdisc Qdisc) error { options = nl.NewRtAttr(nl.TCA_OPTIONS, tcmap.Serialize()) } else if tbf, ok := qdisc.(*Tbf); ok { opt := nl.TcTbfQopt{} - // TODO: handle rate > uint32 opt.Rate.Rate = uint32(tbf.Rate) + opt.Peakrate.Rate = uint32(tbf.Peakrate) opt.Limit = tbf.Limit opt.Buffer = tbf.Buffer nl.NewRtAttrChild(options, nl.TCA_TBF_PARMS, opt.Serialize()) + if tbf.Rate >= uint64(1<<32) { + nl.NewRtAttrChild(options, nl.TCA_TBF_RATE64, nl.Uint64Attr(tbf.Rate)) + } + if tbf.Peakrate >= uint64(1<<32) { + nl.NewRtAttrChild(options, nl.TCA_TBF_PRATE64, nl.Uint64Attr(tbf.Peakrate)) + } + if tbf.Peakrate > 0 { + nl.NewRtAttrChild(options, nl.TCA_TBF_PBURST, nl.Uint32Attr(tbf.Minburst)) + } } else if htb, ok := qdisc.(*Htb); ok { opt := nl.TcHtbGlob{} opt.Version = htb.Version @@ -418,10 +427,15 @@ func parseTbfData(qdisc Qdisc, data []syscall.NetlinkRouteAttr) error { case nl.TCA_TBF_PARMS: opt := nl.DeserializeTcTbfQopt(datum.Value) tbf.Rate = uint64(opt.Rate.Rate) + tbf.Peakrate = uint64(opt.Peakrate.Rate) tbf.Limit = opt.Limit tbf.Buffer = opt.Buffer case nl.TCA_TBF_RATE64: - tbf.Rate = native.Uint64(datum.Value[0:4]) + tbf.Rate = native.Uint64(datum.Value[0:8]) + case nl.TCA_TBF_PRATE64: + tbf.Peakrate = native.Uint64(datum.Value[0:8]) + case nl.TCA_TBF_PBURST: + tbf.Minburst = native.Uint32(datum.Value[0:4]) } } return nil diff --git a/vendor/github.com/vishvananda/netlink/route.go b/vendor/github.com/vishvananda/netlink/route.go new file mode 100644 index 00000000..03ac4b23 --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/route.go @@ -0,0 +1,116 @@ +package netlink + +import ( + "fmt" + "net" + "strings" +) + +// Scope is an enum representing a route scope. +type Scope uint8 + +type NextHopFlag int + +type Destination interface { + Family() int + Decode([]byte) error + Encode() ([]byte, error) + String() string +} + +type Encap interface { + Type() int + Decode([]byte) error + Encode() ([]byte, error) + String() string +} + +// Route represents a netlink route. +type Route struct { + LinkIndex int + ILinkIndex int + Scope Scope + Dst *net.IPNet + Src net.IP + Gw net.IP + MultiPath []*NexthopInfo + Protocol int + Priority int + Table int + Type int + Tos int + Flags int + MPLSDst *int + NewDst Destination + Encap Encap +} + +func (r Route) String() string { + elems := []string{} + if len(r.MultiPath) == 0 { + elems = append(elems, fmt.Sprintf("Ifindex: %d", r.LinkIndex)) + } + if r.MPLSDst != nil { + elems = append(elems, fmt.Sprintf("Dst: %d", r.MPLSDst)) + } else { + elems = append(elems, fmt.Sprintf("Dst: %s", r.Dst)) + } + if r.NewDst != nil { + elems = append(elems, fmt.Sprintf("NewDst: %s", r.NewDst)) + } + if r.Encap != nil { + elems = append(elems, fmt.Sprintf("Encap: %s", r.Encap)) + } + elems = append(elems, fmt.Sprintf("Src: %s", r.Src)) + if len(r.MultiPath) > 0 { + elems = append(elems, fmt.Sprintf("Gw: %s", r.MultiPath)) + } else { + elems = append(elems, fmt.Sprintf("Gw: %s", r.Gw)) + } + elems = append(elems, fmt.Sprintf("Flags: %s", r.ListFlags())) + elems = append(elems, fmt.Sprintf("Table: %d", r.Table)) + return fmt.Sprintf("{%s}", strings.Join(elems, " ")) +} + +func (r *Route) SetFlag(flag NextHopFlag) { + r.Flags |= int(flag) +} + +func (r *Route) ClearFlag(flag NextHopFlag) { + r.Flags &^= int(flag) +} + +type flagString struct { + f NextHopFlag + s string +} + +// RouteUpdate is sent when a route changes - type is RTM_NEWROUTE or RTM_DELROUTE +type RouteUpdate struct { + Type uint16 + Route +} + +type NexthopInfo struct { + LinkIndex int + Hops int + Gw net.IP + Flags int + NewDst Destination + Encap Encap +} + +func (n *NexthopInfo) String() string { + elems := []string{} + elems = append(elems, fmt.Sprintf("Ifindex: %d", n.LinkIndex)) + if n.NewDst != nil { + elems = append(elems, fmt.Sprintf("NewDst: %s", n.NewDst)) + } + if n.Encap != nil { + elems = append(elems, fmt.Sprintf("Encap: %s", n.Encap)) + } + elems = append(elems, fmt.Sprintf("Weight: %d", n.Hops+1)) + elems = append(elems, fmt.Sprintf("Gw: %d", n.Gw)) + elems = append(elems, fmt.Sprintf("Flags: %s", n.ListFlags())) + return fmt.Sprintf("{%s}", strings.Join(elems, " ")) +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/route_linux.go b/vendor/github.com/vishvananda/netlink/route_linux.go similarity index 61% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/route_linux.go rename to vendor/github.com/vishvananda/netlink/route_linux.go index 5d684ad7..9e0f1f93 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/route_linux.go +++ b/vendor/github.com/vishvananda/netlink/route_linux.go @@ -3,9 +3,11 @@ package netlink import ( "fmt" "net" + "strings" "syscall" "github.com/vishvananda/netlink/nl" + "github.com/vishvananda/netns" ) // RtAttr is shared so it is in netlink_linux.go @@ -41,16 +43,92 @@ var testFlags = []flagString{ {f: FLAG_PERVASIVE, s: "pervasive"}, } -func (r *Route) ListFlags() []string { +func listFlags(flag int) []string { var flags []string for _, tf := range testFlags { - if r.Flags&int(tf.f) != 0 { + if flag&int(tf.f) != 0 { flags = append(flags, tf.s) } } return flags } +func (r *Route) ListFlags() []string { + return listFlags(r.Flags) +} + +func (n *NexthopInfo) ListFlags() []string { + return listFlags(n.Flags) +} + +type MPLSDestination struct { + Labels []int +} + +func (d *MPLSDestination) Family() int { + return nl.FAMILY_MPLS +} + +func (d *MPLSDestination) Decode(buf []byte) error { + d.Labels = nl.DecodeMPLSStack(buf) + return nil +} + +func (d *MPLSDestination) Encode() ([]byte, error) { + return nl.EncodeMPLSStack(d.Labels...), nil +} + +func (d *MPLSDestination) String() string { + s := make([]string, 0, len(d.Labels)) + for _, l := range d.Labels { + s = append(s, fmt.Sprintf("%d", l)) + } + return strings.Join(s, "/") +} + +type MPLSEncap struct { + Labels []int +} + +func (e *MPLSEncap) Type() int { + return nl.LWTUNNEL_ENCAP_MPLS +} + +func (e *MPLSEncap) Decode(buf []byte) error { + if len(buf) < 4 { + return fmt.Errorf("Lack of bytes") + } + native := nl.NativeEndian() + l := native.Uint16(buf) + if len(buf) < int(l) { + return fmt.Errorf("Lack of bytes") + } + buf = buf[:l] + typ := native.Uint16(buf[2:]) + if typ != nl.MPLS_IPTUNNEL_DST { + return fmt.Errorf("Unknown MPLS Encap Type: %d", typ) + } + e.Labels = nl.DecodeMPLSStack(buf[4:]) + return nil +} + +func (e *MPLSEncap) Encode() ([]byte, error) { + s := nl.EncodeMPLSStack(e.Labels...) + native := nl.NativeEndian() + hdr := make([]byte, 4) + native.PutUint16(hdr, uint16(len(s)+4)) + native.PutUint16(hdr[2:], nl.MPLS_IPTUNNEL_DST) + return append(hdr, s...), nil +} + +func (e *MPLSEncap) String() string { + s := make([]string, 0, len(e.Labels)) + for _, l := range e.Labels { + s = append(s, fmt.Sprintf("%d", l)) + } + return strings.Join(s, "/") +} + // RouteAdd will add a route to the system. // Equivalent to: `ip route add $route` func RouteAdd(route *Route) error { @@ -60,7 +138,22 @@ func RouteAdd(route *Route) error { // RouteAdd will add a route to the system. // Equivalent to: `ip route add $route` func (h *Handle) RouteAdd(route *Route) error { - req := h.newNetlinkRequest(syscall.RTM_NEWROUTE, syscall.NLM_F_CREATE|syscall.NLM_F_EXCL|syscall.NLM_F_ACK) + flags := syscall.NLM_F_CREATE | syscall.NLM_F_EXCL | syscall.NLM_F_ACK + req := h.newNetlinkRequest(syscall.RTM_NEWROUTE, flags) + return h.routeHandle(route, req, nl.NewRtMsg()) +} + +// RouteReplace will add a route to the system. +// Equivalent to: `ip route replace $route` +func RouteReplace(route *Route) error { + return pkgHandle.RouteReplace(route) +} + +// RouteReplace will add a route to the system. +// Equivalent to: `ip route replace $route` +func (h *Handle) RouteReplace(route *Route) error { + flags := syscall.NLM_F_CREATE | syscall.NLM_F_REPLACE | syscall.NLM_F_ACK + req := h.newNetlinkRequest(syscall.RTM_NEWROUTE, flags) return h.routeHandle(route, req, nl.NewRtMsg()) } @@ -78,7 +171,7 @@ func (h *Handle) RouteDel(route *Route) error { } func (h *Handle) routeHandle(route *Route, req *nl.NetlinkRequest, msg *nl.RtMsg) error { - if (route.Dst == nil || route.Dst.IP == nil) && route.Src == nil && route.Gw == nil { + if (route.Dst == nil || route.Dst.IP == nil) && route.Src == nil && route.Gw == nil && route.MPLSDst == nil { return fmt.Errorf("one of Dst.IP, Src, or Gw must not be nil") } @@ -97,6 +190,33 @@ func (h *Handle) routeHandle(route *Route, req *nl.NetlinkRequest, msg *nl.RtMsg dstData = route.Dst.IP.To16() } rtAttrs = append(rtAttrs, nl.NewRtAttr(syscall.RTA_DST, dstData)) + } else if route.MPLSDst != nil { + family = nl.FAMILY_MPLS + msg.Dst_len = uint8(20) + msg.Type = syscall.RTN_UNICAST + rtAttrs = append(rtAttrs, nl.NewRtAttr(syscall.RTA_DST, nl.EncodeMPLSStack(*route.MPLSDst))) + } + + if route.NewDst != nil { + if family != -1 && family != route.NewDst.Family() { + return fmt.Errorf("new destination and destination are not the same address family") + } + buf, err := route.NewDst.Encode() + if err != nil { + return err + } + rtAttrs = append(rtAttrs, nl.NewRtAttr(nl.RTA_NEWDST, buf)) + } + + if route.Encap != nil { + buf := make([]byte, 2) + native.PutUint16(buf, uint16(route.Encap.Type())) + rtAttrs = append(rtAttrs, nl.NewRtAttr(nl.RTA_ENCAP_TYPE, buf)) + buf, err := route.Encap.Encode() + if err != nil { + return err + } + rtAttrs = append(rtAttrs, nl.NewRtAttr(nl.RTA_ENCAP, buf)) } if route.Src != nil { @@ -137,26 +257,43 @@ func (h *Handle) routeHandle(route *Route, req *nl.NetlinkRequest, msg *nl.RtMsg RtNexthop: syscall.RtNexthop{ Hops: uint8(nh.Hops), Ifindex: int32(nh.LinkIndex), - Len: uint16(syscall.SizeofRtNexthop), + Flags: uint8(nh.Flags), }, } - var gwData []byte + children := []nl.NetlinkRequestData{} if nh.Gw != nil { gwFamily := nl.GetIPFamily(nh.Gw) if family != -1 && family != gwFamily { return fmt.Errorf("gateway, source, and destination ip are not the same IP family") } - var gw *nl.RtAttr if gwFamily == FAMILY_V4 { - gw = nl.NewRtAttr(syscall.RTA_GATEWAY, []byte(nh.Gw.To4())) + children = append(children, nl.NewRtAttr(syscall.RTA_GATEWAY, []byte(nh.Gw.To4()))) } else { - gw = nl.NewRtAttr(syscall.RTA_GATEWAY, []byte(nh.Gw.To16())) + children = append(children, nl.NewRtAttr(syscall.RTA_GATEWAY, []byte(nh.Gw.To16()))) + } + } + if nh.NewDst != nil { + if family != -1 && family != nh.NewDst.Family() { + return fmt.Errorf("new destination and destination are not the same address family") + } + buf, err := nh.NewDst.Encode() + if err != nil { + return err } - gwData := gw.Serialize() - rtnh.Len += uint16(len(gwData)) + children = append(children, nl.NewRtAttr(nl.RTA_NEWDST, buf)) } + if nh.Encap != nil { + buf := make([]byte, 2) + native.PutUint16(buf, uint16(nh.Encap.Type())) + rtAttrs = append(rtAttrs, nl.NewRtAttr(nl.RTA_ENCAP_TYPE, buf)) + buf, err := nh.Encap.Encode() + if err != nil { + return err + } + children = append(children, nl.NewRtAttr(nl.RTA_ENCAP, buf)) + } + rtnh.Children = children buf = append(buf, rtnh.Serialize()...) - buf = append(buf, gwData...) } rtAttrs = append(rtAttrs, nl.NewRtAttr(syscall.RTA_MULTIPATH, buf)) } @@ -282,14 +419,22 @@ func (h *Handle) RouteListFiltered(family int, filter *Route, filterMask uint64) continue case filterMask&RT_FILTER_SRC != 0 && !route.Src.Equal(filter.Src): continue - case filterMask&RT_FILTER_DST != 0 && filter.Dst != nil: - if route.Dst == nil { - continue - } - aMaskLen, aMaskBits := route.Dst.Mask.Size() - bMaskLen, bMaskBits := filter.Dst.Mask.Size() - if !(route.Dst.IP.Equal(filter.Dst.IP) && aMaskLen == bMaskLen && aMaskBits == bMaskBits) { - continue + case filterMask&RT_FILTER_DST != 0: + if filter.MPLSDst == nil || route.MPLSDst == nil || (*filter.MPLSDst) != (*route.MPLSDst) { + if filter.Dst == nil { + if route.Dst != nil { + continue + } + } else { + if route.Dst == nil { + continue + } + aMaskLen, aMaskBits := route.Dst.Mask.Size() + bMaskLen, bMaskBits := filter.Dst.Mask.Size() + if !(route.Dst.IP.Equal(filter.Dst.IP) && aMaskLen == bMaskLen && aMaskBits == bMaskBits) { + continue + } + } } } } @@ -315,6 +460,7 @@ func deserializeRoute(m []byte) (Route, error) { } native := nl.NativeEndian() + var encap, encapType syscall.NetlinkRouteAttr for _, attr := range attrs { switch attr.Attr.Type { case syscall.RTA_GATEWAY: @@ -322,9 +468,17 @@ func deserializeRoute(m []byte) (Route, error) { case syscall.RTA_PREFSRC: route.Src = net.IP(attr.Value) case syscall.RTA_DST: - route.Dst = &net.IPNet{ - IP: attr.Value, - Mask: net.CIDRMask(int(msg.Dst_len), 8*len(attr.Value)), + if msg.Family == nl.FAMILY_MPLS { + stack := nl.DecodeMPLSStack(attr.Value) + if len(stack) == 0 || len(stack) > 1 { + return route, fmt.Errorf("invalid MPLS RTA_DST") + } + route.MPLSDst = &stack[0] + } else { + route.Dst = &net.IPNet{ + IP: attr.Value, + Mask: net.CIDRMask(int(msg.Dst_len), 8*len(attr.Value)), + } } case syscall.RTA_OIF: route.LinkIndex = int(native.Uint32(attr.Value[0:4])) @@ -346,17 +500,47 @@ func deserializeRoute(m []byte) (Route, error) { info := &NexthopInfo{ LinkIndex: int(nh.RtNexthop.Ifindex), Hops: int(nh.RtNexthop.Hops), + Flags: int(nh.RtNexthop.Flags), } attrs, err := nl.ParseRouteAttr(value[syscall.SizeofRtNexthop:int(nh.RtNexthop.Len)]) if err != nil { return nil, nil, err } + var encap, encapType syscall.NetlinkRouteAttr for _, attr := range attrs { switch attr.Attr.Type { case syscall.RTA_GATEWAY: info.Gw = net.IP(attr.Value) + case nl.RTA_NEWDST: + var d Destination + switch msg.Family { + case nl.FAMILY_MPLS: + d = &MPLSDestination{} + } + if err := d.Decode(attr.Value); err != nil { + return nil, nil, err + } + info.NewDst = d + case nl.RTA_ENCAP_TYPE: + encapType = attr + case nl.RTA_ENCAP: + encap = attr } } + + if len(encap.Value) != 0 && len(encapType.Value) != 0 { + typ := int(native.Uint16(encapType.Value[0:2])) + var e Encap + switch typ { + case nl.LWTUNNEL_ENCAP_MPLS: + e = &MPLSEncap{} + if err := e.Decode(encap.Value); err != nil { + return nil, nil, err + } + } + info.Encap = e + } + return info, value[int(nh.RtNexthop.Len):], nil } rest := attr.Value @@ -368,8 +552,36 @@ func deserializeRoute(m []byte) (Route, error) { route.MultiPath = append(route.MultiPath, info) rest = buf } + case nl.RTA_NEWDST: + var d Destination + switch msg.Family { + case nl.FAMILY_MPLS: + d = &MPLSDestination{} + } + if err := d.Decode(attr.Value); err != nil { + return route, err + } + route.NewDst = d + case nl.RTA_ENCAP_TYPE: + encapType = attr + case nl.RTA_ENCAP: + encap = attr } } + + if len(encap.Value) != 0 && len(encapType.Value) != 0 { + typ := int(native.Uint16(encapType.Value[0:2])) + var e Encap + switch typ { + case nl.LWTUNNEL_ENCAP_MPLS: + e = &MPLSEncap{} + if err := e.Decode(encap.Value); err != nil { + return route, err + } + } + route.Encap = e + } + return route, nil } @@ -421,7 +633,17 @@ func (h *Handle) RouteGet(destination net.IP) ([]Route, error) { // RouteSubscribe takes a chan down which notifications will be sent // when routes are added or deleted. Close the 'done' chan to stop subscription. func RouteSubscribe(ch chan<- RouteUpdate, done <-chan struct{}) error { - s, err := nl.Subscribe(syscall.NETLINK_ROUTE, syscall.RTNLGRP_IPV4_ROUTE, syscall.RTNLGRP_IPV6_ROUTE) + return routeSubscribeAt(netns.None(), netns.None(), ch, done) +} + +// RouteSubscribeAt works like RouteSubscribe plus it allows the caller +// to choose the network namespace in which to subscribe (ns). +func RouteSubscribeAt(ns netns.NsHandle, ch chan<- RouteUpdate, done <-chan struct{}) error { + return routeSubscribeAt(ns, netns.None(), ch, done) +} + +func routeSubscribeAt(newNs, curNs netns.NsHandle, ch chan<- RouteUpdate, done <-chan struct{}) error { + s, err := nl.SubscribeAt(newNs, curNs, syscall.NETLINK_ROUTE, syscall.RTNLGRP_IPV4_ROUTE, syscall.RTNLGRP_IPV6_ROUTE) if err != nil { return err } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/route_unspecified.go b/vendor/github.com/vishvananda/netlink/route_unspecified.go similarity index 58% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/route_unspecified.go rename to vendor/github.com/vishvananda/netlink/route_unspecified.go index 1b205306..2701862b 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/route_unspecified.go +++ b/vendor/github.com/vishvananda/netlink/route_unspecified.go @@ -5,3 +5,7 @@ package netlink func (r *Route) ListFlags() []string { return []string{} } + +func (n *NexthopInfo) ListFlags() []string { + return []string{} +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/rule.go b/vendor/github.com/vishvananda/netlink/rule.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/rule.go rename to vendor/github.com/vishvananda/netlink/rule.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/rule_linux.go b/vendor/github.com/vishvananda/netlink/rule_linux.go similarity index 96% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/rule_linux.go rename to vendor/github.com/vishvananda/netlink/rule_linux.go index 58fac557..f9cdc855 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/rule_linux.go +++ b/vendor/github.com/vishvananda/netlink/rule_linux.go @@ -82,41 +82,46 @@ func ruleHandle(rule *Rule, req *nl.NetlinkRequest) error { req.AddData(rtAttrs[i]) } - var ( - b = make([]byte, 4) - native = nl.NativeEndian() - ) + native := nl.NativeEndian() if rule.Priority >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Priority)) req.AddData(nl.NewRtAttr(nl.FRA_PRIORITY, b)) } if rule.Mark >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Mark)) req.AddData(nl.NewRtAttr(nl.FRA_FWMARK, b)) } if rule.Mask >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Mask)) req.AddData(nl.NewRtAttr(nl.FRA_FWMASK, b)) } if rule.Flow >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Flow)) req.AddData(nl.NewRtAttr(nl.FRA_FLOW, b)) } if rule.TunID > 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.TunID)) req.AddData(nl.NewRtAttr(nl.FRA_TUN_ID, b)) } if rule.Table >= 256 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Table)) req.AddData(nl.NewRtAttr(nl.FRA_TABLE, b)) } if msg.Table > 0 { if rule.SuppressPrefixlen >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.SuppressPrefixlen)) req.AddData(nl.NewRtAttr(nl.FRA_SUPPRESS_PREFIXLEN, b)) } if rule.SuppressIfgroup >= 0 { + b := make([]byte, 4) native.PutUint32(b, uint32(rule.SuppressIfgroup)) req.AddData(nl.NewRtAttr(nl.FRA_SUPPRESS_IFGROUP, b)) } @@ -129,6 +134,7 @@ func ruleHandle(rule *Rule, req *nl.NetlinkRequest) error { } if rule.Goto >= 0 { msg.Type = nl.FR_ACT_NOP + b := make([]byte, 4) native.PutUint32(b, uint32(rule.Goto)) req.AddData(nl.NewRtAttr(nl.FRA_GOTO, b)) } diff --git a/vendor/github.com/vishvananda/netlink/socket.go b/vendor/github.com/vishvananda/netlink/socket.go new file mode 100644 index 00000000..41aa7262 --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/socket.go @@ -0,0 +1,27 @@ +package netlink + +import "net" + +// SocketID identifies a single socket. +type SocketID struct { + SourcePort uint16 + DestinationPort uint16 + Source net.IP + Destination net.IP + Interface uint32 + Cookie [2]uint32 +} + +// Socket represents a netlink socket. +type Socket struct { + Family uint8 + State uint8 + Timer uint8 + Retrans uint8 + ID SocketID + Expires uint32 + RQueue uint32 + WQueue uint32 + UID uint32 + INode uint32 +} diff --git a/vendor/github.com/vishvananda/netlink/socket_linux.go b/vendor/github.com/vishvananda/netlink/socket_linux.go new file mode 100644 index 00000000..b42b84f0 --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/socket_linux.go @@ -0,0 +1,159 @@ +package netlink + +import ( + "errors" + "fmt" + "net" + "syscall" + + "github.com/vishvananda/netlink/nl" +) + +const ( + sizeofSocketID = 0x30 + sizeofSocketRequest = sizeofSocketID + 0x8 + sizeofSocket = sizeofSocketID + 0x18 +) + +type socketRequest struct { + Family uint8 + Protocol uint8 + Ext uint8 + pad uint8 + States uint32 + ID SocketID +} + +type writeBuffer struct { + Bytes []byte + pos int +} + +func (b *writeBuffer) Write(c byte) { + b.Bytes[b.pos] = c + b.pos++ +} + +func (b *writeBuffer) Next(n int) []byte { + s := b.Bytes[b.pos : b.pos+n] + b.pos += n + return s +} + +func (r *socketRequest) Serialize() []byte { + b := writeBuffer{Bytes: make([]byte, sizeofSocketRequest)} + b.Write(r.Family) + b.Write(r.Protocol) + b.Write(r.Ext) + b.Write(r.pad) + native.PutUint32(b.Next(4), r.States) + networkOrder.PutUint16(b.Next(2), r.ID.SourcePort) + networkOrder.PutUint16(b.Next(2), r.ID.DestinationPort) + copy(b.Next(4), r.ID.Source.To4()) + b.Next(12) + copy(b.Next(4), r.ID.Destination.To4()) + b.Next(12) + native.PutUint32(b.Next(4), r.ID.Interface) + native.PutUint32(b.Next(4), r.ID.Cookie[0]) + native.PutUint32(b.Next(4), r.ID.Cookie[1]) + return b.Bytes +} + +func (r *socketRequest) Len() int { return sizeofSocketRequest } + +type readBuffer struct { + Bytes []byte + pos int +} + +func (b *readBuffer) Read() byte { + c := b.Bytes[b.pos] + b.pos++ + return c +} + +func (b *readBuffer) Next(n int) []byte { + s := b.Bytes[b.pos : b.pos+n] + b.pos += n + return s +} + +func (s *Socket) deserialize(b []byte) error { + if len(b) < sizeofSocket { + return fmt.Errorf("socket data short read (%d); want %d", len(b), sizeofSocket) + } + rb := readBuffer{Bytes: b} + s.Family = rb.Read() + s.State = rb.Read() + s.Timer = rb.Read() + s.Retrans = rb.Read() + s.ID.SourcePort = networkOrder.Uint16(rb.Next(2)) + s.ID.DestinationPort = networkOrder.Uint16(rb.Next(2)) + s.ID.Source = net.IPv4(rb.Read(), rb.Read(), rb.Read(), rb.Read()) + rb.Next(12) + s.ID.Destination = net.IPv4(rb.Read(), rb.Read(), rb.Read(), rb.Read()) + rb.Next(12) + s.ID.Interface = native.Uint32(rb.Next(4)) + s.ID.Cookie[0] = native.Uint32(rb.Next(4)) + s.ID.Cookie[1] = native.Uint32(rb.Next(4)) + s.Expires = native.Uint32(rb.Next(4)) + s.RQueue = native.Uint32(rb.Next(4)) + s.WQueue = native.Uint32(rb.Next(4)) + s.UID = native.Uint32(rb.Next(4)) + s.INode = native.Uint32(rb.Next(4)) + return nil +} + +// SocketGet returns the Socket identified by its local and remote addresses. +func SocketGet(local, remote net.Addr) (*Socket, error) { + localTCP, ok := local.(*net.TCPAddr) + if !ok { + return nil, ErrNotImplemented + } + remoteTCP, ok := remote.(*net.TCPAddr) + if !ok { + return nil, ErrNotImplemented + } + localIP := localTCP.IP.To4() + if localIP == nil { + return nil, ErrNotImplemented + } + remoteIP := remoteTCP.IP.To4() + if remoteIP == nil { + return nil, ErrNotImplemented + } + + s, err := nl.Subscribe(syscall.NETLINK_INET_DIAG) + if err != nil { + return nil, err + } + defer s.Close() + req := nl.NewNetlinkRequest(nl.SOCK_DIAG_BY_FAMILY, 0) + req.AddData(&socketRequest{ + Family: syscall.AF_INET, + Protocol: syscall.IPPROTO_TCP, + ID: SocketID{ + SourcePort: uint16(localTCP.Port), + DestinationPort: uint16(remoteTCP.Port), + Source: localIP, + Destination: remoteIP, + Cookie: [2]uint32{nl.TCPDIAG_NOCOOKIE, nl.TCPDIAG_NOCOOKIE}, + }, + }) + s.Send(req) + msgs, err := s.Receive() + if err != nil { + return nil, err + } + if len(msgs) == 0 { + return nil, errors.New("no message nor error from netlink") + } + if len(msgs) > 2 { + return nil, fmt.Errorf("multiple (%d) matching sockets", len(msgs)) + } + sock := &Socket{} + if err := sock.deserialize(msgs[0].Data); err != nil { + return nil, err + } + return sock, nil +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm.go b/vendor/github.com/vishvananda/netlink/xfrm.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm.go rename to vendor/github.com/vishvananda/netlink/xfrm.go diff --git a/vendor/github.com/vishvananda/netlink/xfrm_monitor_linux.go b/vendor/github.com/vishvananda/netlink/xfrm_monitor_linux.go new file mode 100644 index 00000000..7b98c9cb --- /dev/null +++ b/vendor/github.com/vishvananda/netlink/xfrm_monitor_linux.go @@ -0,0 +1,98 @@ +package netlink + +import ( + "fmt" + "syscall" + + "github.com/vishvananda/netns" + + "github.com/vishvananda/netlink/nl" +) + +type XfrmMsg interface { + Type() nl.XfrmMsgType +} + +type XfrmMsgExpire struct { + XfrmState *XfrmState + Hard bool +} + +func (ue *XfrmMsgExpire) Type() nl.XfrmMsgType { + return nl.XFRM_MSG_EXPIRE +} + +func parseXfrmMsgExpire(b []byte) *XfrmMsgExpire { + var e XfrmMsgExpire + + msg := nl.DeserializeXfrmUserExpire(b) + e.XfrmState = xfrmStateFromXfrmUsersaInfo(&msg.XfrmUsersaInfo) + e.Hard = msg.Hard == 1 + + return &e +} + +func XfrmMonitor(ch chan<- XfrmMsg, done <-chan struct{}, errorChan chan<- error, + types ...nl.XfrmMsgType) error { + + groups, err := xfrmMcastGroups(types) + if err != nil { + return nil + } + s, err := nl.SubscribeAt(netns.None(), netns.None(), syscall.NETLINK_XFRM, groups...) + if err != nil { + return err + } + + if done != nil { + go func() { + <-done + s.Close() + }() + + } + + go func() { + defer close(ch) + for { + msgs, err := s.Receive() + if err != nil { + errorChan <- err + return + } + for _, m := range msgs { + switch m.Header.Type { + case nl.XFRM_MSG_EXPIRE: + ch <- parseXfrmMsgExpire(m.Data) + default: + errorChan <- fmt.Errorf("unsupported msg type: %x", m.Header.Type) + } + } + } + }() + + return nil +} + +func xfrmMcastGroups(types []nl.XfrmMsgType) ([]uint, error) { + groups := make([]uint, 0) + + if len(types) == 0 { + return nil, fmt.Errorf("no xfrm msg type specified") + } + + for _, t := range types { + var group uint + + switch t { + case nl.XFRM_MSG_EXPIRE: + group = nl.XFRMNLGRP_EXPIRE + default: + return nil, fmt.Errorf("unsupported group: %x", t) + } + + groups = append(groups, group) + } + + return groups, nil +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_policy.go b/vendor/github.com/vishvananda/netlink/xfrm_policy.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_policy.go rename to vendor/github.com/vishvananda/netlink/xfrm_policy.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_policy_linux.go b/vendor/github.com/vishvananda/netlink/xfrm_policy_linux.go similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_policy_linux.go rename to vendor/github.com/vishvananda/netlink/xfrm_policy_linux.go diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state.go b/vendor/github.com/vishvananda/netlink/xfrm_state.go similarity index 84% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state.go rename to vendor/github.com/vishvananda/netlink/xfrm_state.go index 6ffbcdb4..368a9b98 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state.go +++ b/vendor/github.com/vishvananda/netlink/xfrm_state.go @@ -10,10 +10,18 @@ type XfrmStateAlgo struct { Name string Key []byte TruncateLen int // Auth only + ICVLen int // AEAD only } func (a XfrmStateAlgo) String() string { - return fmt.Sprintf("{Name: %s, Key: 0x%x, TruncateLen: %d}", a.Name, a.Key, a.TruncateLen) + base := fmt.Sprintf("{Name: %s, Key: 0x%x", a.Name, a.Key) + if a.TruncateLen != 0 { + base = fmt.Sprintf("%s, Truncate length: %d", base, a.TruncateLen) + } + if a.ICVLen != 0 { + base = fmt.Sprintf("%s, ICV length: %d", base, a.ICVLen) + } + return fmt.Sprintf("%s}", base) } // EncapType is an enum representing the optional packet encapsulation. @@ -73,12 +81,14 @@ type XfrmState struct { Mark *XfrmMark Auth *XfrmStateAlgo Crypt *XfrmStateAlgo + Aead *XfrmStateAlgo Encap *XfrmStateEncap + ESN bool } func (sa XfrmState) String() string { - return fmt.Sprintf("Dst: %v, Src: %v, Proto: %s, Mode: %s, SPI: 0x%x, ReqID: 0x%x, ReplayWindow: %d, Mark: %v, Auth: %v, Crypt: %v, Encap: %v", - sa.Dst, sa.Src, sa.Proto, sa.Mode, sa.Spi, sa.Reqid, sa.ReplayWindow, sa.Mark, sa.Auth, sa.Crypt, sa.Encap) + return fmt.Sprintf("Dst: %v, Src: %v, Proto: %s, Mode: %s, SPI: 0x%x, ReqID: 0x%x, ReplayWindow: %d, Mark: %v, Auth: %v, Crypt: %v, Aead: %v, Encap: %v, ESN: %t", + sa.Dst, sa.Src, sa.Proto, sa.Mode, sa.Spi, sa.Reqid, sa.ReplayWindow, sa.Mark, sa.Auth, sa.Crypt, sa.Aead, sa.Encap, sa.ESN) } func (sa XfrmState) Print(stats bool) string { if !stats { diff --git a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state_linux.go b/vendor/github.com/vishvananda/netlink/xfrm_state_linux.go similarity index 79% rename from Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state_linux.go rename to vendor/github.com/vishvananda/netlink/xfrm_state_linux.go index 5f294c71..6a7bc0de 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netlink/xfrm_state_linux.go +++ b/vendor/github.com/vishvananda/netlink/xfrm_state_linux.go @@ -35,6 +35,20 @@ func writeStateAlgoAuth(a *XfrmStateAlgo) []byte { return algo.Serialize() } +func writeStateAlgoAead(a *XfrmStateAlgo) []byte { + algo := nl.XfrmAlgoAEAD{ + AlgKeyLen: uint32(len(a.Key) * 8), + AlgICVLen: uint32(a.ICVLen), + AlgKey: a.Key, + } + end := len(a.Name) + if end > 64 { + end = 64 + } + copy(algo.AlgName[:end], a.Name) + return algo.Serialize() +} + func writeMark(m *XfrmMark) []byte { mark := &nl.XfrmMark{ Value: m.Value, @@ -46,6 +60,21 @@ func writeMark(m *XfrmMark) []byte { return mark.Serialize() } +func writeReplayEsn(replayWindow int) []byte { + replayEsn := &nl.XfrmReplayStateEsn{ + OSeq: 0, + Seq: 0, + OSeqHi: 0, + SeqHi: 0, + ReplayWindow: uint32(replayWindow), + } + + // taken from iproute2/ip/xfrm_state.c: + replayEsn.BmpLen = uint32((replayWindow + (4 * 8) - 1) / (4 * 8)) + + return replayEsn.Serialize() +} + // XfrmStateAdd will add an xfrm state to the system. // Equivalent to: `ip xfrm state add $state` func XfrmStateAdd(state *XfrmState) error { @@ -58,6 +87,12 @@ func (h *Handle) XfrmStateAdd(state *XfrmState) error { return h.xfrmStateAddOrUpdate(state, nl.XFRM_MSG_NEWSA) } +// XfrmStateAllocSpi will allocate an xfrm state in the system. +// Equivalent to: `ip xfrm state allocspi` +func XfrmStateAllocSpi(state *XfrmState) (*XfrmState, error) { + return pkgHandle.xfrmStateAllocSpi(state) +} + // XfrmStateUpdate will update an xfrm state to the system. // Equivalent to: `ip xfrm state update $state` func XfrmStateUpdate(state *XfrmState) error { @@ -71,21 +106,23 @@ func (h *Handle) XfrmStateUpdate(state *XfrmState) error { } func (h *Handle) xfrmStateAddOrUpdate(state *XfrmState, nlProto int) error { + // A state with spi 0 can't be deleted so don't allow it to be set if state.Spi == 0 { return fmt.Errorf("Spi must be set when adding xfrm state.") } req := h.newNetlinkRequest(nlProto, syscall.NLM_F_CREATE|syscall.NLM_F_EXCL|syscall.NLM_F_ACK) - msg := &nl.XfrmUsersaInfo{} - msg.Family = uint16(nl.GetIPFamily(state.Dst)) - msg.Id.Daddr.FromIP(state.Dst) - msg.Saddr.FromIP(state.Src) - msg.Id.Proto = uint8(state.Proto) - msg.Mode = uint8(state.Mode) - msg.Id.Spi = nl.Swap32(uint32(state.Spi)) - msg.Reqid = uint32(state.Reqid) - msg.ReplayWindow = uint8(state.ReplayWindow) + msg := xfrmUsersaInfoFromXfrmState(state) + + if state.ESN { + if state.ReplayWindow == 0 { + return fmt.Errorf("ESN flag set without ReplayWindow") + } + msg.Flags |= nl.XFRM_STATE_ESN + msg.ReplayWindow = 0 + } + limitsToLft(state.Limits, &msg.Lft) req.AddData(msg) @@ -97,6 +134,10 @@ func (h *Handle) xfrmStateAddOrUpdate(state *XfrmState, nlProto int) error { out := nl.NewRtAttr(nl.XFRMA_ALG_CRYPT, writeStateAlgo(state.Crypt)) req.AddData(out) } + if state.Aead != nil { + out := nl.NewRtAttr(nl.XFRMA_ALG_AEAD, writeStateAlgoAead(state.Aead)) + req.AddData(out) + } if state.Encap != nil { encapData := make([]byte, nl.SizeofXfrmEncapTmpl) encap := nl.DeserializeXfrmEncapTmpl(encapData) @@ -111,11 +152,44 @@ func (h *Handle) xfrmStateAddOrUpdate(state *XfrmState, nlProto int) error { out := nl.NewRtAttr(nl.XFRMA_MARK, writeMark(state.Mark)) req.AddData(out) } + if state.ESN { + out := nl.NewRtAttr(nl.XFRMA_REPLAY_ESN_VAL, writeReplayEsn(state.ReplayWindow)) + req.AddData(out) + } _, err := req.Execute(syscall.NETLINK_XFRM, 0) return err } +func (h *Handle) xfrmStateAllocSpi(state *XfrmState) (*XfrmState, error) { + req := h.newNetlinkRequest(nl.XFRM_MSG_ALLOCSPI, + syscall.NLM_F_CREATE|syscall.NLM_F_EXCL|syscall.NLM_F_ACK) + + msg := &nl.XfrmUserSpiInfo{} + msg.XfrmUsersaInfo = *(xfrmUsersaInfoFromXfrmState(state)) + // 1-255 is reserved by IANA for future use + msg.Min = 0x100 + msg.Max = 0xffffffff + req.AddData(msg) + + if state.Mark != nil { + out := nl.NewRtAttr(nl.XFRMA_MARK, writeMark(state.Mark)) + req.AddData(out) + } + + msgs, err := req.Execute(syscall.NETLINK_XFRM, 0) + if err != nil { + return nil, err + } + + s, err := parseXfrmState(msgs[0], FAMILY_ALL) + if err != nil { + return nil, err + } + + return s, err +} + // XfrmStateDel will delete an xfrm state from the system. Note that // the Algos are ignored when matching the state to delete. // Equivalent to: `ip xfrm state del $state` @@ -195,7 +269,7 @@ func (h *Handle) xfrmStateGetOrDelete(state *XfrmState, nlProto int) (*XfrmState req.AddData(out) } if state.Src != nil { - out := nl.NewRtAttr(nl.XFRMA_SRCADDR, state.Src) + out := nl.NewRtAttr(nl.XFRMA_SRCADDR, state.Src.To16()) req.AddData(out) } @@ -223,14 +297,7 @@ func (h *Handle) xfrmStateGetOrDelete(state *XfrmState, nlProto int) (*XfrmState var familyError = fmt.Errorf("family error") -func parseXfrmState(m []byte, family int) (*XfrmState, error) { - msg := nl.DeserializeXfrmUsersaInfo(m) - - // This is mainly for the state dump - if family != FAMILY_ALL && family != int(msg.Family) { - return nil, familyError - } - +func xfrmStateFromXfrmUsersaInfo(msg *nl.XfrmUsersaInfo) *XfrmState { var state XfrmState state.Dst = msg.Id.Daddr.ToIP() @@ -242,6 +309,19 @@ func parseXfrmState(m []byte, family int) (*XfrmState, error) { state.ReplayWindow = int(msg.ReplayWindow) lftToLimits(&msg.Lft, &state.Limits) + return &state +} + +func parseXfrmState(m []byte, family int) (*XfrmState, error) { + msg := nl.DeserializeXfrmUsersaInfo(m) + + // This is mainly for the state dump + if family != FAMILY_ALL && family != int(msg.Family) { + return nil, familyError + } + + state := xfrmStateFromXfrmUsersaInfo(msg) + attrs, err := nl.ParseRouteAttr(m[nl.SizeofXfrmUsersaInfo:]) if err != nil { return nil, err @@ -271,6 +351,12 @@ func parseXfrmState(m []byte, family int) (*XfrmState, error) { state.Auth.Name = nl.BytesToString(algo.AlgName[:]) state.Auth.Key = algo.AlgKey state.Auth.TruncateLen = int(algo.AlgTruncLen) + case nl.XFRMA_ALG_AEAD: + state.Aead = new(XfrmStateAlgo) + algo := nl.DeserializeXfrmAlgoAEAD(attr.Value[:]) + state.Aead.Name = nl.BytesToString(algo.AlgName[:]) + state.Aead.Key = algo.AlgKey + state.Aead.ICVLen = int(algo.AlgICVLen) case nl.XFRMA_ENCAP: encap := nl.DeserializeXfrmEncapTmpl(attr.Value[:]) state.Encap = new(XfrmStateEncap) @@ -286,7 +372,7 @@ func parseXfrmState(m []byte, family int) (*XfrmState, error) { } } - return &state, nil + return state, nil } // XfrmStateFlush will flush the xfrm state on the system. @@ -342,3 +428,17 @@ func limitsToLft(lmts XfrmStateLimits, lft *nl.XfrmLifetimeCfg) { func lftToLimits(lft *nl.XfrmLifetimeCfg, lmts *XfrmStateLimits) { *lmts = *(*XfrmStateLimits)(unsafe.Pointer(lft)) } + +func xfrmUsersaInfoFromXfrmState(state *XfrmState) *nl.XfrmUsersaInfo { + msg := &nl.XfrmUsersaInfo{} + msg.Family = uint16(nl.GetIPFamily(state.Dst)) + msg.Id.Daddr.FromIP(state.Dst) + msg.Saddr.FromIP(state.Src) + msg.Id.Proto = uint8(state.Proto) + msg.Mode = uint8(state.Mode) + msg.Id.Spi = nl.Swap32(uint32(state.Spi)) + msg.Reqid = uint32(state.Reqid) + msg.ReplayWindow = uint8(state.ReplayWindow) + + return msg +} diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/LICENSE b/vendor/github.com/vishvananda/netns/LICENSE similarity index 100% rename from Godeps/_workspace/src/github.com/vishvananda/netns/LICENSE rename to vendor/github.com/vishvananda/netns/LICENSE diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/README.md b/vendor/github.com/vishvananda/netns/README.md similarity index 89% rename from Godeps/_workspace/src/github.com/vishvananda/netns/README.md rename to vendor/github.com/vishvananda/netns/README.md index 24a4003a..66a5f725 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/README.md +++ b/vendor/github.com/vishvananda/netns/README.md @@ -20,9 +20,10 @@ Testing (requires root): package main import ( + "fmt" "net" "runtime" - "github.com/vishvananada/netns" + "github.com/vishvananda/netns" ) func main() { @@ -36,9 +37,10 @@ func main() { // Create a new network namespace newns, _ := netns.New() + netns.Set(newns) defer newns.Close() - // Do something with tne network namespace + // Do something with the network namespace ifaces, _ := net.Interfaces() fmt.Printf("Interfaces: %v\n", ifaces) diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns.go b/vendor/github.com/vishvananda/netns/netns.go similarity index 82% rename from Godeps/_workspace/src/github.com/vishvananda/netns/netns.go rename to vendor/github.com/vishvananda/netns/netns.go index 2ca0feed..dd2f2157 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns.go +++ b/vendor/github.com/vishvananda/netns/netns.go @@ -19,7 +19,7 @@ type NsHandle int // Equal determines if two network handles refer to the same network // namespace. This is done by comparing the device and inode that the -// file descripors point to. +// file descriptors point to. func (ns NsHandle) Equal(other NsHandle) bool { if ns == other { return true @@ -46,6 +46,19 @@ func (ns NsHandle) String() string { return fmt.Sprintf("NS(%d: %d, %d)", ns, s.Dev, s.Ino) } +// UniqueId returns a string which uniquely identifies the namespace +// associated with the network handle. +func (ns NsHandle) UniqueId() string { + var s syscall.Stat_t + if ns == -1 { + return "NS(none)" + } + if err := syscall.Fstat(int(ns), &s); err != nil { + return "NS(unknown)" + } + return fmt.Sprintf("NS(%d:%d)", s.Dev, s.Ino) +} + // IsOpen returns true if Close() has not been called. func (ns NsHandle) IsOpen() bool { return ns != -1 @@ -61,7 +74,7 @@ func (ns *NsHandle) Close() error { return nil } -// Get an empty (closed) NsHandle +// None gets an empty (closed) NsHandle. func None() NsHandle { return NsHandle(-1) } diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go b/vendor/github.com/vishvananda/netns/netns_linux.go similarity index 88% rename from Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go rename to vendor/github.com/vishvananda/netns/netns_linux.go index abdc3082..7162b86a 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_linux.go +++ b/vendor/github.com/vishvananda/netns/netns_linux.go @@ -7,14 +7,27 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "strconv" "strings" "syscall" ) +// SYS_SETNS syscall allows changing the namespace of the current process. +var SYS_SETNS = map[string]uintptr{ + "386": 346, + "amd64": 308, + "arm64": 268, + "arm": 375, + "mips": 4344, + "mipsle": 4344, + "ppc64": 350, + "ppc64le": 350, + "s390x": 339, +}[runtime.GOARCH] + +// Deprecated: use syscall pkg instead (go >= 1.5 needed). const ( - // These constants belong in the syscall library but have not been - // added yet. CLONE_NEWUTS = 0x04000000 /* New utsname group? */ CLONE_NEWIPC = 0x08000000 /* New ipcs */ CLONE_NEWUSER = 0x10000000 /* New user namespace */ @@ -167,8 +180,12 @@ func getPidForContainer(id string) (int, error) { filepath.Join(cgroupRoot, cgroupThis, id, "tasks"), // With more recent lxc versions use, cgroup will be in lxc/ filepath.Join(cgroupRoot, cgroupThis, "lxc", id, "tasks"), - // With more recent dockee, cgroup will be in docker/ + // With more recent docker, cgroup will be in docker/ filepath.Join(cgroupRoot, cgroupThis, "docker", id, "tasks"), + // Even more recent docker versions under systemd use docker-.scope/ + filepath.Join(cgroupRoot, "system.slice", "docker-"+id+".scope", "tasks"), + // Even more recent docker versions under cgroup/systemd/docker// + filepath.Join(cgroupRoot, "..", "systemd", "docker", id, "tasks"), } var filename string diff --git a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_unspecified.go b/vendor/github.com/vishvananda/netns/netns_unspecified.go similarity index 76% rename from Godeps/_workspace/src/github.com/vishvananda/netns/netns_unspecified.go rename to vendor/github.com/vishvananda/netns/netns_unspecified.go index b2edc565..d06af62b 100644 --- a/Godeps/_workspace/src/github.com/vishvananda/netns/netns_unspecified.go +++ b/vendor/github.com/vishvananda/netns/netns_unspecified.go @@ -22,6 +22,10 @@ func Get() (NsHandle, error) { return -1, ErrNotImplemented } +func GetFromPath(path string) (NsHandle, error) { + return -1, ErrNotImplemented +} + func GetFromName(name string) (NsHandle, error) { return -1, ErrNotImplemented } @@ -30,6 +34,10 @@ func GetFromPid(pid int) (NsHandle, error) { return -1, ErrNotImplemented } +func GetFromThread(pid, tid int) (NsHandle, error) { + return -1, ErrNotImplemented +} + func GetFromDocker(id string) (NsHandle, error) { return -1, ErrNotImplemented } diff --git a/vendor/golang.org/x/crypto/AUTHORS b/vendor/golang.org/x/crypto/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/crypto/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/crypto/CONTRIBUTORS b/vendor/golang.org/x/crypto/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/crypto/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/Godeps/_workspace/src/golang.org/x/crypto/LICENSE b/vendor/golang.org/x/crypto/LICENSE similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/LICENSE rename to vendor/golang.org/x/crypto/LICENSE diff --git a/Godeps/_workspace/src/golang.org/x/crypto/PATENTS b/vendor/golang.org/x/crypto/PATENTS similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/PATENTS rename to vendor/golang.org/x/crypto/PATENTS diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/buffer.go b/vendor/golang.org/x/crypto/ssh/buffer.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/buffer.go rename to vendor/golang.org/x/crypto/ssh/buffer.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/certs.go b/vendor/golang.org/x/crypto/ssh/certs.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/certs.go rename to vendor/golang.org/x/crypto/ssh/certs.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/channel.go b/vendor/golang.org/x/crypto/ssh/channel.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/channel.go rename to vendor/golang.org/x/crypto/ssh/channel.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/cipher.go b/vendor/golang.org/x/crypto/ssh/cipher.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/cipher.go rename to vendor/golang.org/x/crypto/ssh/cipher.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/client.go b/vendor/golang.org/x/crypto/ssh/client.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/client.go rename to vendor/golang.org/x/crypto/ssh/client.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/client_auth.go b/vendor/golang.org/x/crypto/ssh/client_auth.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/client_auth.go rename to vendor/golang.org/x/crypto/ssh/client_auth.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/common.go b/vendor/golang.org/x/crypto/ssh/common.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/common.go rename to vendor/golang.org/x/crypto/ssh/common.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/connection.go b/vendor/golang.org/x/crypto/ssh/connection.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/connection.go rename to vendor/golang.org/x/crypto/ssh/connection.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/doc.go b/vendor/golang.org/x/crypto/ssh/doc.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/doc.go rename to vendor/golang.org/x/crypto/ssh/doc.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/handshake.go b/vendor/golang.org/x/crypto/ssh/handshake.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/handshake.go rename to vendor/golang.org/x/crypto/ssh/handshake.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/kex.go b/vendor/golang.org/x/crypto/ssh/kex.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/kex.go rename to vendor/golang.org/x/crypto/ssh/kex.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/keys.go b/vendor/golang.org/x/crypto/ssh/keys.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/keys.go rename to vendor/golang.org/x/crypto/ssh/keys.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/mac.go b/vendor/golang.org/x/crypto/ssh/mac.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/mac.go rename to vendor/golang.org/x/crypto/ssh/mac.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/messages.go b/vendor/golang.org/x/crypto/ssh/messages.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/messages.go rename to vendor/golang.org/x/crypto/ssh/messages.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/mux.go b/vendor/golang.org/x/crypto/ssh/mux.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/mux.go rename to vendor/golang.org/x/crypto/ssh/mux.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/server.go rename to vendor/golang.org/x/crypto/ssh/server.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/session.go b/vendor/golang.org/x/crypto/ssh/session.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/session.go rename to vendor/golang.org/x/crypto/ssh/session.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/tcpip.go b/vendor/golang.org/x/crypto/ssh/tcpip.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/tcpip.go rename to vendor/golang.org/x/crypto/ssh/tcpip.go diff --git a/Godeps/_workspace/src/golang.org/x/crypto/ssh/transport.go b/vendor/golang.org/x/crypto/ssh/transport.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/crypto/ssh/transport.go rename to vendor/golang.org/x/crypto/ssh/transport.go diff --git a/vendor/golang.org/x/net/AUTHORS b/vendor/golang.org/x/net/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/net/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/net/CONTRIBUTORS b/vendor/golang.org/x/net/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/net/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/Godeps/_workspace/src/golang.org/x/net/LICENSE b/vendor/golang.org/x/net/LICENSE similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/LICENSE rename to vendor/golang.org/x/net/LICENSE diff --git a/Godeps/_workspace/src/golang.org/x/net/PATENTS b/vendor/golang.org/x/net/PATENTS similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/PATENTS rename to vendor/golang.org/x/net/PATENTS diff --git a/Godeps/_workspace/src/golang.org/x/net/context/context.go b/vendor/golang.org/x/net/context/context.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/context/context.go rename to vendor/golang.org/x/net/context/context.go diff --git a/Godeps/_workspace/src/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/context/go17.go rename to vendor/golang.org/x/net/context/go17.go diff --git a/Godeps/_workspace/src/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/context/pre_go17.go rename to vendor/golang.org/x/net/context/pre_go17.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/.gitignore b/vendor/golang.org/x/net/http2/.gitignore similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/.gitignore rename to vendor/golang.org/x/net/http2/.gitignore diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/Dockerfile b/vendor/golang.org/x/net/http2/Dockerfile similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/Dockerfile rename to vendor/golang.org/x/net/http2/Dockerfile diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/Makefile b/vendor/golang.org/x/net/http2/Makefile similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/Makefile rename to vendor/golang.org/x/net/http2/Makefile diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/README b/vendor/golang.org/x/net/http2/README similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/README rename to vendor/golang.org/x/net/http2/README diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/client_conn_pool.go rename to vendor/golang.org/x/net/http2/client_conn_pool.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/configure_transport.go b/vendor/golang.org/x/net/http2/configure_transport.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/configure_transport.go rename to vendor/golang.org/x/net/http2/configure_transport.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/errors.go b/vendor/golang.org/x/net/http2/errors.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/errors.go rename to vendor/golang.org/x/net/http2/errors.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/fixed_buffer.go b/vendor/golang.org/x/net/http2/fixed_buffer.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/fixed_buffer.go rename to vendor/golang.org/x/net/http2/fixed_buffer.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/flow.go b/vendor/golang.org/x/net/http2/flow.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/flow.go rename to vendor/golang.org/x/net/http2/flow.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/frame.go rename to vendor/golang.org/x/net/http2/frame.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/go16.go b/vendor/golang.org/x/net/http2/go16.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/go16.go rename to vendor/golang.org/x/net/http2/go16.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/go17.go b/vendor/golang.org/x/net/http2/go17.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/go17.go rename to vendor/golang.org/x/net/http2/go17.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/gotrack.go b/vendor/golang.org/x/net/http2/gotrack.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/gotrack.go rename to vendor/golang.org/x/net/http2/gotrack.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/headermap.go b/vendor/golang.org/x/net/http2/headermap.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/headermap.go rename to vendor/golang.org/x/net/http2/headermap.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/hpack/encode.go rename to vendor/golang.org/x/net/http2/hpack/encode.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/hpack/hpack.go rename to vendor/golang.org/x/net/http2/hpack/hpack.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/hpack/huffman.go rename to vendor/golang.org/x/net/http2/hpack/huffman.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/hpack/tables.go b/vendor/golang.org/x/net/http2/hpack/tables.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/hpack/tables.go rename to vendor/golang.org/x/net/http2/hpack/tables.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/http2.go rename to vendor/golang.org/x/net/http2/http2.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/not_go16.go b/vendor/golang.org/x/net/http2/not_go16.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/not_go16.go rename to vendor/golang.org/x/net/http2/not_go16.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/not_go17.go b/vendor/golang.org/x/net/http2/not_go17.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/not_go17.go rename to vendor/golang.org/x/net/http2/not_go17.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/pipe.go rename to vendor/golang.org/x/net/http2/pipe.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/server.go rename to vendor/golang.org/x/net/http2/server.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/transport.go rename to vendor/golang.org/x/net/http2/transport.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/write.go b/vendor/golang.org/x/net/http2/write.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/write.go rename to vendor/golang.org/x/net/http2/write.go diff --git a/Godeps/_workspace/src/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/http2/writesched.go rename to vendor/golang.org/x/net/http2/writesched.go diff --git a/Godeps/_workspace/src/golang.org/x/net/internal/timeseries/timeseries.go b/vendor/golang.org/x/net/internal/timeseries/timeseries.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/internal/timeseries/timeseries.go rename to vendor/golang.org/x/net/internal/timeseries/timeseries.go diff --git a/Godeps/_workspace/src/golang.org/x/net/lex/httplex/httplex.go b/vendor/golang.org/x/net/lex/httplex/httplex.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/lex/httplex/httplex.go rename to vendor/golang.org/x/net/lex/httplex/httplex.go diff --git a/Godeps/_workspace/src/golang.org/x/net/trace/events.go b/vendor/golang.org/x/net/trace/events.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/trace/events.go rename to vendor/golang.org/x/net/trace/events.go diff --git a/Godeps/_workspace/src/golang.org/x/net/trace/histogram.go b/vendor/golang.org/x/net/trace/histogram.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/trace/histogram.go rename to vendor/golang.org/x/net/trace/histogram.go diff --git a/Godeps/_workspace/src/golang.org/x/net/trace/trace.go b/vendor/golang.org/x/net/trace/trace.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/net/trace/trace.go rename to vendor/golang.org/x/net/trace/trace.go diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/sys/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/sys/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/sys/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/Godeps/_workspace/src/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/LICENSE rename to vendor/golang.org/x/sys/LICENSE diff --git a/Godeps/_workspace/src/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/PATENTS rename to vendor/golang.org/x/sys/PATENTS diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/.gitignore rename to vendor/golang.org/x/sys/unix/.gitignore diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm.s b/vendor/golang.org/x/sys/unix/asm.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm.s rename to vendor/golang.org/x/sys/unix/asm.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_386.s rename to vendor/golang.org/x/sys/unix/asm_darwin_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_amd64.s rename to vendor/golang.org/x/sys/unix/asm_darwin_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_arm.s rename to vendor/golang.org/x/sys/unix/asm_darwin_arm.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_darwin_arm64.s rename to vendor/golang.org/x/sys/unix/asm_darwin_arm64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_dragonfly_386.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_dragonfly_386.s rename to vendor/golang.org/x/sys/unix/asm_dragonfly_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_dragonfly_amd64.s rename to vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_386.s rename to vendor/golang.org/x/sys/unix/asm_freebsd_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_amd64.s rename to vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_freebsd_arm.s rename to vendor/golang.org/x/sys/unix/asm_freebsd_arm.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_386.s rename to vendor/golang.org/x/sys/unix/asm_linux_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_amd64.s rename to vendor/golang.org/x/sys/unix/asm_linux_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_arm.s rename to vendor/golang.org/x/sys/unix/asm_linux_arm.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_arm64.s rename to vendor/golang.org/x/sys/unix/asm_linux_arm64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_linux_ppc64x.s rename to vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_386.s rename to vendor/golang.org/x/sys/unix/asm_netbsd_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_amd64.s rename to vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_netbsd_arm.s rename to vendor/golang.org/x/sys/unix/asm_netbsd_arm.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_openbsd_386.s rename to vendor/golang.org/x/sys/unix/asm_openbsd_386.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_openbsd_amd64.s rename to vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/asm_solaris_amd64.s rename to vendor/golang.org/x/sys/unix/asm_solaris_amd64.s diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/constants.go rename to vendor/golang.org/x/sys/unix/constants.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/env_unix.go rename to vendor/golang.org/x/sys/unix/env_unix.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/env_unset.go rename to vendor/golang.org/x/sys/unix/env_unset.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/flock.go rename to vendor/golang.org/x/sys/unix/flock.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/flock_linux_32bit.go rename to vendor/golang.org/x/sys/unix/flock_linux_32bit.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/gccgo.go rename to vendor/golang.org/x/sys/unix/gccgo.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/gccgo_c.c rename to vendor/golang.org/x/sys/unix/gccgo_c.c diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/gccgo_linux_amd64.go rename to vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mkall.sh rename to vendor/golang.org/x/sys/unix/mkall.sh diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mkerrors.sh rename to vendor/golang.org/x/sys/unix/mkerrors.sh diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksyscall.pl b/vendor/golang.org/x/sys/unix/mksyscall.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksyscall.pl rename to vendor/golang.org/x/sys/unix/mksyscall.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksyscall_solaris.pl rename to vendor/golang.org/x/sys/unix/mksyscall_solaris.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysctl_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysctl_openbsd.pl rename to vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_darwin.pl b/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_darwin.pl rename to vendor/golang.org/x/sys/unix/mksysnum_darwin.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_dragonfly.pl b/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_dragonfly.pl rename to vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_freebsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_freebsd.pl rename to vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_linux.pl b/vendor/golang.org/x/sys/unix/mksysnum_linux.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_linux.pl rename to vendor/golang.org/x/sys/unix/mksysnum_linux.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_netbsd.pl rename to vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/mksysnum_openbsd.pl rename to vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/race.go rename to vendor/golang.org/x/sys/unix/race.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/race0.go rename to vendor/golang.org/x/sys/unix/race0.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/sockcmsg_linux.go rename to vendor/golang.org/x/sys/unix/sockcmsg_linux.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/sockcmsg_unix.go rename to vendor/golang.org/x/sys/unix/sockcmsg_unix.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/str.go rename to vendor/golang.org/x/sys/unix/str.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall.go rename to vendor/golang.org/x/sys/unix/syscall.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_bsd.go rename to vendor/golang.org/x/sys/unix/syscall_bsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin.go rename to vendor/golang.org/x/sys/unix/syscall_darwin.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_386.go rename to vendor/golang.org/x/sys/unix/syscall_darwin_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_arm.go rename to vendor/golang.org/x/sys/unix/syscall_darwin_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_darwin_arm64.go rename to vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly.go rename to vendor/golang.org/x/sys/unix/syscall_dragonfly.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly_386.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly_386.go rename to vendor/golang.org/x/sys/unix/syscall_dragonfly_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_dragonfly_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd.go rename to vendor/golang.org/x/sys/unix/syscall_freebsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_386.go rename to vendor/golang.org/x/sys/unix/syscall_freebsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_freebsd_arm.go rename to vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux.go rename to vendor/golang.org/x/sys/unix/syscall_linux.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_386.go rename to vendor/golang.org/x/sys/unix/syscall_linux_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_arm.go rename to vendor/golang.org/x/sys/unix/syscall_linux_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_arm64.go rename to vendor/golang.org/x/sys/unix/syscall_linux_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_linux_ppc64x.go rename to vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd.go rename to vendor/golang.org/x/sys/unix/syscall_netbsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_386.go rename to vendor/golang.org/x/sys/unix/syscall_netbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_netbsd_arm.go rename to vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_no_getwd.go rename to vendor/golang.org/x/sys/unix/syscall_no_getwd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd.go rename to vendor/golang.org/x/sys/unix/syscall_openbsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd_386.go rename to vendor/golang.org/x/sys/unix/syscall_openbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_openbsd_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_solaris.go rename to vendor/golang.org/x/sys/unix/syscall_solaris.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_solaris_amd64.go rename to vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/syscall_unix.go rename to vendor/golang.org/x/sys/unix/syscall_unix.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_darwin.go rename to vendor/golang.org/x/sys/unix/types_darwin.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_dragonfly.go rename to vendor/golang.org/x/sys/unix/types_dragonfly.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_freebsd.go rename to vendor/golang.org/x/sys/unix/types_freebsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_linux.go b/vendor/golang.org/x/sys/unix/types_linux.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_linux.go rename to vendor/golang.org/x/sys/unix/types_linux.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_netbsd.go rename to vendor/golang.org/x/sys/unix/types_netbsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_openbsd.go rename to vendor/golang.org/x/sys/unix/types_openbsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/types_solaris.go rename to vendor/golang.org/x/sys/unix/types_solaris.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_386.go rename to vendor/golang.org/x/sys/unix/zerrors_darwin_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_arm.go rename to vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_darwin_arm64.go rename to vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_dragonfly_386.go rename to vendor/golang.org/x/sys/unix/zerrors_dragonfly_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_386.go rename to vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_freebsd_arm.go rename to vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_386.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_arm.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_arm64.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_ppc64.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_linux_ppc64le.go rename to vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_386.go rename to vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_netbsd_arm.go rename to vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_openbsd_386.go rename to vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_openbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zerrors_solaris_amd64.go rename to vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_arm.go rename to vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_darwin_arm64.go rename to vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_dragonfly_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_dragonfly_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_freebsd_arm.go rename to vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_arm.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_arm64.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_ppc64.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go rename to vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_netbsd_arm.go rename to vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_openbsd_386.go rename to vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsyscall_solaris_amd64.go rename to vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysctl_openbsd.go rename to vendor/golang.org/x/sys/unix/zsysctl_openbsd.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_arm.go rename to vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_darwin_arm64.go rename to vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_dragonfly_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_dragonfly_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_freebsd_arm.go rename to vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_arm.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_arm64.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_ppc64.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go rename to vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_netbsd_arm.go rename to vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_openbsd_386.go rename to vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/zsysnum_solaris_amd64.go rename to vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_386.go rename to vendor/golang.org/x/sys/unix/ztypes_darwin_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_arm.go rename to vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_darwin_arm64.go rename to vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_dragonfly_386.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_dragonfly_386.go rename to vendor/golang.org/x/sys/unix/ztypes_dragonfly_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_386.go rename to vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_freebsd_arm.go rename to vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_386.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_arm.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_arm64.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_ppc64.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_linux_ppc64le.go rename to vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_386.go rename to vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_netbsd_arm.go rename to vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_openbsd_386.go rename to vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_openbsd_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go diff --git a/Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/sys/unix/ztypes_solaris_amd64.go rename to vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go diff --git a/vendor/golang.org/x/text/AUTHORS b/vendor/golang.org/x/text/AUTHORS new file mode 100644 index 00000000..15167cd7 --- /dev/null +++ b/vendor/golang.org/x/text/AUTHORS @@ -0,0 +1,3 @@ +# This source code refers to The Go Authors for copyright purposes. +# The master list of authors is in the main Go distribution, +# visible at http://tip.golang.org/AUTHORS. diff --git a/vendor/golang.org/x/text/CONTRIBUTORS b/vendor/golang.org/x/text/CONTRIBUTORS new file mode 100644 index 00000000..1c4577e9 --- /dev/null +++ b/vendor/golang.org/x/text/CONTRIBUTORS @@ -0,0 +1,3 @@ +# This source code was written by the Go contributors. +# The master list of contributors is in the main Go distribution, +# visible at http://tip.golang.org/CONTRIBUTORS. diff --git a/Godeps/_workspace/src/golang.org/x/text/LICENSE b/vendor/golang.org/x/text/LICENSE similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/LICENSE rename to vendor/golang.org/x/text/LICENSE diff --git a/Godeps/_workspace/src/golang.org/x/text/PATENTS b/vendor/golang.org/x/text/PATENTS similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/PATENTS rename to vendor/golang.org/x/text/PATENTS diff --git a/Godeps/_workspace/src/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/transform/transform.go rename to vendor/golang.org/x/text/transform/transform.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/composition.go b/vendor/golang.org/x/text/unicode/norm/composition.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/composition.go rename to vendor/golang.org/x/text/unicode/norm/composition.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/forminfo.go b/vendor/golang.org/x/text/unicode/norm/forminfo.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/forminfo.go rename to vendor/golang.org/x/text/unicode/norm/forminfo.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/input.go b/vendor/golang.org/x/text/unicode/norm/input.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/input.go rename to vendor/golang.org/x/text/unicode/norm/input.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/iter.go b/vendor/golang.org/x/text/unicode/norm/iter.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/iter.go rename to vendor/golang.org/x/text/unicode/norm/iter.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/maketables.go b/vendor/golang.org/x/text/unicode/norm/maketables.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/maketables.go rename to vendor/golang.org/x/text/unicode/norm/maketables.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/normalize.go b/vendor/golang.org/x/text/unicode/norm/normalize.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/normalize.go rename to vendor/golang.org/x/text/unicode/norm/normalize.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/readwriter.go b/vendor/golang.org/x/text/unicode/norm/readwriter.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/readwriter.go rename to vendor/golang.org/x/text/unicode/norm/readwriter.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/tables.go b/vendor/golang.org/x/text/unicode/norm/tables.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/tables.go rename to vendor/golang.org/x/text/unicode/norm/tables.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/transform.go rename to vendor/golang.org/x/text/unicode/norm/transform.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/trie.go b/vendor/golang.org/x/text/unicode/norm/trie.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/trie.go rename to vendor/golang.org/x/text/unicode/norm/trie.go diff --git a/Godeps/_workspace/src/golang.org/x/text/unicode/norm/triegen.go b/vendor/golang.org/x/text/unicode/norm/triegen.go similarity index 100% rename from Godeps/_workspace/src/golang.org/x/text/unicode/norm/triegen.go rename to vendor/golang.org/x/text/unicode/norm/triegen.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/.travis.yml b/vendor/google.golang.org/grpc/.travis.yml similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/.travis.yml rename to vendor/google.golang.org/grpc/.travis.yml diff --git a/Godeps/_workspace/src/google.golang.org/grpc/CONTRIBUTING.md b/vendor/google.golang.org/grpc/CONTRIBUTING.md similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/CONTRIBUTING.md rename to vendor/google.golang.org/grpc/CONTRIBUTING.md diff --git a/Godeps/_workspace/src/google.golang.org/grpc/LICENSE b/vendor/google.golang.org/grpc/LICENSE similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/LICENSE rename to vendor/google.golang.org/grpc/LICENSE diff --git a/Godeps/_workspace/src/google.golang.org/grpc/Makefile b/vendor/google.golang.org/grpc/Makefile similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/Makefile rename to vendor/google.golang.org/grpc/Makefile diff --git a/Godeps/_workspace/src/google.golang.org/grpc/PATENTS b/vendor/google.golang.org/grpc/PATENTS similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/PATENTS rename to vendor/google.golang.org/grpc/PATENTS diff --git a/Godeps/_workspace/src/google.golang.org/grpc/README.md b/vendor/google.golang.org/grpc/README.md similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/README.md rename to vendor/google.golang.org/grpc/README.md diff --git a/Godeps/_workspace/src/google.golang.org/grpc/backoff.go b/vendor/google.golang.org/grpc/backoff.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/backoff.go rename to vendor/google.golang.org/grpc/backoff.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/balancer.go b/vendor/google.golang.org/grpc/balancer.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/balancer.go rename to vendor/google.golang.org/grpc/balancer.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/call.go b/vendor/google.golang.org/grpc/call.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/call.go rename to vendor/google.golang.org/grpc/call.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/clientconn.go rename to vendor/google.golang.org/grpc/clientconn.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/codegen.sh b/vendor/google.golang.org/grpc/codegen.sh similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/codegen.sh rename to vendor/google.golang.org/grpc/codegen.sh diff --git a/Godeps/_workspace/src/google.golang.org/grpc/codes/code_string.go b/vendor/google.golang.org/grpc/codes/code_string.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/codes/code_string.go rename to vendor/google.golang.org/grpc/codes/code_string.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/codes/codes.go b/vendor/google.golang.org/grpc/codes/codes.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/codes/codes.go rename to vendor/google.golang.org/grpc/codes/codes.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/coverage.sh b/vendor/google.golang.org/grpc/coverage.sh similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/coverage.sh rename to vendor/google.golang.org/grpc/coverage.sh diff --git a/Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials.go b/vendor/google.golang.org/grpc/credentials/credentials.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials.go rename to vendor/google.golang.org/grpc/credentials/credentials.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials_util_go17.go b/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials_util_go17.go rename to vendor/google.golang.org/grpc/credentials/credentials_util_go17.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials_util_pre_go17.go b/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/credentials/credentials_util_pre_go17.go rename to vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/doc.go b/vendor/google.golang.org/grpc/doc.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/doc.go rename to vendor/google.golang.org/grpc/doc.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/grpclog/logger.go b/vendor/google.golang.org/grpc/grpclog/logger.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/grpclog/logger.go rename to vendor/google.golang.org/grpc/grpclog/logger.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/interceptor.go b/vendor/google.golang.org/grpc/interceptor.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/interceptor.go rename to vendor/google.golang.org/grpc/interceptor.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/internal/internal.go b/vendor/google.golang.org/grpc/internal/internal.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/internal/internal.go rename to vendor/google.golang.org/grpc/internal/internal.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/metadata/metadata.go b/vendor/google.golang.org/grpc/metadata/metadata.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/metadata/metadata.go rename to vendor/google.golang.org/grpc/metadata/metadata.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/naming/naming.go b/vendor/google.golang.org/grpc/naming/naming.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/naming/naming.go rename to vendor/google.golang.org/grpc/naming/naming.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/peer/peer.go b/vendor/google.golang.org/grpc/peer/peer.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/peer/peer.go rename to vendor/google.golang.org/grpc/peer/peer.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/rpc_util.go b/vendor/google.golang.org/grpc/rpc_util.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/rpc_util.go rename to vendor/google.golang.org/grpc/rpc_util.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/server.go b/vendor/google.golang.org/grpc/server.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/server.go rename to vendor/google.golang.org/grpc/server.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/stream.go rename to vendor/google.golang.org/grpc/stream.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/trace.go b/vendor/google.golang.org/grpc/trace.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/trace.go rename to vendor/google.golang.org/grpc/trace.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/control.go b/vendor/google.golang.org/grpc/transport/control.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/control.go rename to vendor/google.golang.org/grpc/transport/control.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/go16.go b/vendor/google.golang.org/grpc/transport/go16.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/go16.go rename to vendor/google.golang.org/grpc/transport/go16.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/go17.go b/vendor/google.golang.org/grpc/transport/go17.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/go17.go rename to vendor/google.golang.org/grpc/transport/go17.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/handler_server.go b/vendor/google.golang.org/grpc/transport/handler_server.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/handler_server.go rename to vendor/google.golang.org/grpc/transport/handler_server.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/http2_client.go b/vendor/google.golang.org/grpc/transport/http2_client.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/http2_client.go rename to vendor/google.golang.org/grpc/transport/http2_client.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/http2_server.go b/vendor/google.golang.org/grpc/transport/http2_server.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/http2_server.go rename to vendor/google.golang.org/grpc/transport/http2_server.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/http_util.go b/vendor/google.golang.org/grpc/transport/http_util.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/http_util.go rename to vendor/google.golang.org/grpc/transport/http_util.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/pre_go16.go b/vendor/google.golang.org/grpc/transport/pre_go16.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/pre_go16.go rename to vendor/google.golang.org/grpc/transport/pre_go16.go diff --git a/Godeps/_workspace/src/google.golang.org/grpc/transport/transport.go b/vendor/google.golang.org/grpc/transport/transport.go similarity index 100% rename from Godeps/_workspace/src/google.golang.org/grpc/transport/transport.go rename to vendor/google.golang.org/grpc/transport/transport.go diff --git a/Godeps/_workspace/src/gopkg.in/tomb.v2/LICENSE b/vendor/gopkg.in/tomb.v2/LICENSE similarity index 100% rename from Godeps/_workspace/src/gopkg.in/tomb.v2/LICENSE rename to vendor/gopkg.in/tomb.v2/LICENSE diff --git a/Godeps/_workspace/src/gopkg.in/tomb.v2/README.md b/vendor/gopkg.in/tomb.v2/README.md similarity index 100% rename from Godeps/_workspace/src/gopkg.in/tomb.v2/README.md rename to vendor/gopkg.in/tomb.v2/README.md diff --git a/Godeps/_workspace/src/gopkg.in/tomb.v2/tomb.go b/vendor/gopkg.in/tomb.v2/tomb.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/tomb.v2/tomb.go rename to vendor/gopkg.in/tomb.v2/tomb.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/LICENSE b/vendor/gopkg.in/yaml.v2/LICENSE similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/LICENSE rename to vendor/gopkg.in/yaml.v2/LICENSE diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/LICENSE.libyaml b/vendor/gopkg.in/yaml.v2/LICENSE.libyaml similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/LICENSE.libyaml rename to vendor/gopkg.in/yaml.v2/LICENSE.libyaml diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/README.md b/vendor/gopkg.in/yaml.v2/README.md similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/README.md rename to vendor/gopkg.in/yaml.v2/README.md diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/apic.go b/vendor/gopkg.in/yaml.v2/apic.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/apic.go rename to vendor/gopkg.in/yaml.v2/apic.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/decode.go b/vendor/gopkg.in/yaml.v2/decode.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/decode.go rename to vendor/gopkg.in/yaml.v2/decode.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/emitterc.go b/vendor/gopkg.in/yaml.v2/emitterc.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/emitterc.go rename to vendor/gopkg.in/yaml.v2/emitterc.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/encode.go b/vendor/gopkg.in/yaml.v2/encode.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/encode.go rename to vendor/gopkg.in/yaml.v2/encode.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/parserc.go b/vendor/gopkg.in/yaml.v2/parserc.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/parserc.go rename to vendor/gopkg.in/yaml.v2/parserc.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/readerc.go b/vendor/gopkg.in/yaml.v2/readerc.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/readerc.go rename to vendor/gopkg.in/yaml.v2/readerc.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/resolve.go b/vendor/gopkg.in/yaml.v2/resolve.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/resolve.go rename to vendor/gopkg.in/yaml.v2/resolve.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/scannerc.go b/vendor/gopkg.in/yaml.v2/scannerc.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/scannerc.go rename to vendor/gopkg.in/yaml.v2/scannerc.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/sorter.go b/vendor/gopkg.in/yaml.v2/sorter.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/sorter.go rename to vendor/gopkg.in/yaml.v2/sorter.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/writerc.go b/vendor/gopkg.in/yaml.v2/writerc.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/writerc.go rename to vendor/gopkg.in/yaml.v2/writerc.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/yaml.go b/vendor/gopkg.in/yaml.v2/yaml.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/yaml.go rename to vendor/gopkg.in/yaml.v2/yaml.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/yamlh.go b/vendor/gopkg.in/yaml.v2/yamlh.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/yamlh.go rename to vendor/gopkg.in/yaml.v2/yamlh.go diff --git a/Godeps/_workspace/src/gopkg.in/yaml.v2/yamlprivateh.go b/vendor/gopkg.in/yaml.v2/yamlprivateh.go similarity index 100% rename from Godeps/_workspace/src/gopkg.in/yaml.v2/yamlprivateh.go rename to vendor/gopkg.in/yaml.v2/yamlprivateh.go