rethtool 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.document +5 -0
- data/.gitignore +3 -0
- data/Gemfile +3 -0
- data/Rakefile +33 -0
- data/VERSION +1 -1
- data/lib/rethtool/driver_settings.rb +36 -0
- data/lib/rethtool/ring_settings.rb +69 -0
- data/rethtool.gemspec +24 -0
- data/test/helper.rb +18 -0
- data/test/test_rethtool.rb +7 -0
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7c47e7aabb6cba38c95f794a38efa55219bb47498be9af9704b4f5094deafb29
|
4
|
+
data.tar.gz: f93529f9a47f384d7c627c75f1229bf8c681dc33516d0211f997d0fa8e8b59db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9db1ae33db6e52e63e5ccde81734e98fdd56e4121149dd04eb6c438281822b6067bf1bd2d059f293ae5921b1071747441fa2717b7e1850f6d7a5c251f5e28de
|
7
|
+
data.tar.gz: 67583a9ba405c0fc5b8b63db961a1760060aadc76b74f81abf4786e774dac7defee1f884af21079cb22890c94e40bac55f54d0050ca8d184596e5d183639424e
|
data/.document
ADDED
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
begin
|
6
|
+
Bundler.setup(:default, :development)
|
7
|
+
rescue Bundler::BundlerError => e
|
8
|
+
$stderr.puts e.message
|
9
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
+
exit e.status_code
|
11
|
+
end
|
12
|
+
require 'rake'
|
13
|
+
|
14
|
+
require 'rake/testtask'
|
15
|
+
Rake::TestTask.new(:test) do |test|
|
16
|
+
test.libs << 'lib' << 'test'
|
17
|
+
test.pattern = 'test/**/test_*.rb'
|
18
|
+
test.verbose = true
|
19
|
+
end
|
20
|
+
|
21
|
+
Bundler::GemHelper.install_tasks
|
22
|
+
|
23
|
+
task :default => :test
|
24
|
+
|
25
|
+
require 'rdoc/task'
|
26
|
+
Rake::RDocTask.new do |rdoc|
|
27
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
28
|
+
|
29
|
+
rdoc.rdoc_dir = 'rdoc'
|
30
|
+
rdoc.title = "rethtool #{version}"
|
31
|
+
rdoc.rdoc_files.include('README*')
|
32
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
33
|
+
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.8
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'rethtool'
|
2
|
+
require 'rethtool/ethtool_cmd'
|
3
|
+
|
4
|
+
# Driver settings of a network interface.
|
5
|
+
#
|
6
|
+
# Create an instance of this class with the interface name as the only
|
7
|
+
# parameter, then use the available instance methods to get the info you
|
8
|
+
# seek:
|
9
|
+
#
|
10
|
+
# if = Rethtool::DriverSettings.new("eth0")
|
11
|
+
# puts "Bus info is #{if.bus_info}"
|
12
|
+
#
|
13
|
+
class Rethtool::DriverSettings
|
14
|
+
|
15
|
+
# Create a new DriverSettings object. Simply pass it the name of the
|
16
|
+
# interface you want to get the settings for.
|
17
|
+
def initialize(interface)
|
18
|
+
cmd_driver = Rethtool::EthtoolCmdDriver.new
|
19
|
+
cmd_driver.cmd = Rethtool::ETHTOOL_CMD_GDRVINFO
|
20
|
+
@driver_data = Rethtool.ioctl(interface, cmd_driver)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Returns a string with the value of the interface driver (kernel module).
|
24
|
+
def driver
|
25
|
+
as_str(@driver_data.driver)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns a string with the bus information of the interface.
|
29
|
+
def bus_info
|
30
|
+
as_str(@driver_data.bus_info)
|
31
|
+
end
|
32
|
+
|
33
|
+
def as_str(str)
|
34
|
+
str.pack('c*').delete("\000")
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'rethtool'
|
2
|
+
require 'rethtool/ethtool_cmd'
|
3
|
+
|
4
|
+
class Rethtool::RingSettings
|
5
|
+
def initialize(interface)
|
6
|
+
@interface = interface
|
7
|
+
cmd = Rethtool::EthtoolCmdRing.new
|
8
|
+
cmd.cmd = Rethtool::ETHTOOL_CMD_GRINGPARAM
|
9
|
+
@data = Rethtool.ioctl(interface, cmd)
|
10
|
+
end
|
11
|
+
|
12
|
+
def rx_max_pending
|
13
|
+
@data.rx_max_pending
|
14
|
+
end
|
15
|
+
|
16
|
+
def rx_mini_max_pending
|
17
|
+
@data.rx_mini_max_pending
|
18
|
+
end
|
19
|
+
|
20
|
+
def rx_jumbo_max_pending
|
21
|
+
@data.rx_jumbo_max_pending
|
22
|
+
end
|
23
|
+
|
24
|
+
def tx_max_pending
|
25
|
+
@data.tx_max_pending
|
26
|
+
end
|
27
|
+
|
28
|
+
def rx_pending
|
29
|
+
@data.rx_pending
|
30
|
+
end
|
31
|
+
|
32
|
+
def rx_mini_pending
|
33
|
+
@data.rx_mini_pending
|
34
|
+
end
|
35
|
+
|
36
|
+
def rx_jumbo_pending
|
37
|
+
@data.rx_jumbo_pending
|
38
|
+
end
|
39
|
+
|
40
|
+
def tx_pending
|
41
|
+
@data.tx_pending
|
42
|
+
end
|
43
|
+
|
44
|
+
def rx_pending=(value)
|
45
|
+
set(:rx_pending, value)
|
46
|
+
end
|
47
|
+
|
48
|
+
def rx_mini_pending=(value)
|
49
|
+
set(:rx_mini_pending, value)
|
50
|
+
end
|
51
|
+
|
52
|
+
def rx_jumbo_pending=(value)
|
53
|
+
set(:rx_jumbo_pending, value)
|
54
|
+
end
|
55
|
+
|
56
|
+
def tx_pending=(value)
|
57
|
+
set(:tx_pending, value)
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def set(what, value)
|
63
|
+
return if @data.send(what) == value
|
64
|
+
cmd = @data.clone
|
65
|
+
cmd.cmd = Rethtool::ETHTOOL_CMD_SRINGPARAM
|
66
|
+
cmd.send(:"#{what}=", value)
|
67
|
+
@data = Rethtool.ioctl(@interface, cmd)
|
68
|
+
end
|
69
|
+
end
|
data/rethtool.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "rethtool"
|
3
|
+
s.version = File.read(File.expand_path('../VERSION', __FILE__)).strip
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Matt Palmer"]
|
7
|
+
s.date = "2014-01-16"
|
8
|
+
s.email = "theshed+rethtool@hezmatt.org"
|
9
|
+
s.extra_rdoc_files = [
|
10
|
+
"COPYING",
|
11
|
+
"README.rdoc"
|
12
|
+
]
|
13
|
+
s.files = `git ls-files`.split("\n")
|
14
|
+
s.homepage = "https://github.com/mpalmer/rethtool"
|
15
|
+
s.licenses = ["GPLv3"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.summary = "Partial Ruby wrapper around the SIOCETHTOOL ioctl"
|
18
|
+
|
19
|
+
s.add_runtime_dependency(%q<cstruct>, [">= 0"])
|
20
|
+
s.add_development_dependency(%q<rake>, ["~> 10.0"])
|
21
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
22
|
+
s.add_development_dependency(%q<rdoc>, ["~> 2.4"])
|
23
|
+
end
|
24
|
+
|
data/test/helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup(:default, :development)
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
require 'test/unit'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'rethtool'
|
16
|
+
|
17
|
+
class Test::Unit::TestCase
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rethtool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Palmer
|
@@ -74,15 +74,24 @@ extra_rdoc_files:
|
|
74
74
|
- COPYING
|
75
75
|
- README.rdoc
|
76
76
|
files:
|
77
|
+
- ".document"
|
78
|
+
- ".gitignore"
|
77
79
|
- COPYING
|
80
|
+
- Gemfile
|
78
81
|
- README.rdoc
|
82
|
+
- Rakefile
|
79
83
|
- VERSION
|
80
84
|
- lib/rethtool.rb
|
85
|
+
- lib/rethtool/driver_settings.rb
|
81
86
|
- lib/rethtool/ethtool_cmd.rb
|
82
87
|
- lib/rethtool/ethtool_value.rb
|
83
88
|
- lib/rethtool/interface_settings.rb
|
84
89
|
- lib/rethtool/link_status.rb
|
85
|
-
|
90
|
+
- lib/rethtool/ring_settings.rb
|
91
|
+
- rethtool.gemspec
|
92
|
+
- test/helper.rb
|
93
|
+
- test/test_rethtool.rb
|
94
|
+
homepage: https://github.com/mpalmer/rethtool
|
86
95
|
licenses:
|
87
96
|
- GPLv3
|
88
97
|
metadata: {}
|
@@ -101,9 +110,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
110
|
- !ruby/object:Gem::Version
|
102
111
|
version: '0'
|
103
112
|
requirements: []
|
104
|
-
|
105
|
-
rubygems_version: 2.2.2
|
113
|
+
rubygems_version: 3.2.5
|
106
114
|
signing_key:
|
107
|
-
specification_version:
|
115
|
+
specification_version: 4
|
108
116
|
summary: Partial Ruby wrapper around the SIOCETHTOOL ioctl
|
109
117
|
test_files: []
|