kanrisuru 0.14.0 → 0.15.0
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +5 -5
- data/lib/kanrisuru/command.rb +10 -0
- data/lib/kanrisuru/core/apt/parsers/base.rb +1 -1
- data/lib/kanrisuru/core/ip/commands/address.rb +64 -47
- data/lib/kanrisuru/core/ip/commands/address_label.rb +32 -16
- data/lib/kanrisuru/core/ip/commands/link.rb +96 -54
- data/lib/kanrisuru/core/ip/commands/link_set_opts.rb +61 -0
- data/lib/kanrisuru/core/ip/commands/link_type_opts.rb +313 -0
- data/lib/kanrisuru/core/ip/commands/maddress.rb +22 -13
- data/lib/kanrisuru/core/ip/commands/neighbour.rb +49 -32
- data/lib/kanrisuru/core/ip/commands/route.rb +130 -93
- data/lib/kanrisuru/core/ip/commands/rule.rb +37 -22
- data/lib/kanrisuru/core/ip/commands.rb +5 -3
- data/lib/kanrisuru/core/ip/constants.rb +12 -0
- data/lib/kanrisuru/core/ip/parser.rb +1 -0
- data/lib/kanrisuru/core/ip/parsers/version.rb +15 -0
- data/lib/kanrisuru/core/ip.rb +10 -7
- data/lib/kanrisuru/version.rb +1 -1
- data/spec/functional/core/ip/ip_address_label_spec.rb +81 -0
- data/spec/functional/core/ip/ip_address_spec.rb +95 -0
- data/spec/functional/core/ip/ip_link_spec.rb +814 -0
- data/spec/functional/core/ip/ip_maddress_spec.rb +78 -0
- data/spec/functional/core/ip/ip_neighbour_spec.rb +119 -0
- data/spec/functional/core/ip/ip_route_spec.rb +174 -0
- data/spec/functional/core/ip/ip_rule_spec.rb +75 -0
- data/spec/functional/core/ip/ip_spec.rb +27 -0
- data/spec/support/shared_examples/integration/core/transfer.rb +1 -1
- metadata +13 -2
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[maddress maddr m].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant, action_variant), 'ip -json maddress show')
|
38
|
+
expect_command(host.ip(object_variant, action_variant, {
|
39
|
+
dev: 'eth0',
|
40
|
+
family: 'inet'
|
41
|
+
}), 'ip -json -family inet maddress show dev eth0')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'without json support' do
|
47
|
+
before(:all) do
|
48
|
+
StubNetwork.stub_command!(:ip_version) do
|
49
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 23
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
after(:all) do
|
54
|
+
StubNetwork.unstub_command!(:ip_version)
|
55
|
+
end
|
56
|
+
|
57
|
+
%w[show list].each do |action_variant|
|
58
|
+
it "prepares #{action_variant} command" do
|
59
|
+
expect_command(host.ip(object_variant, action_variant), 'ip maddress show')
|
60
|
+
expect_command(host.ip(object_variant, action_variant, {
|
61
|
+
dev: 'eth0',
|
62
|
+
family: 'inet'
|
63
|
+
}), 'ip -family inet maddress show dev eth0')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
%w[add delete del].each do |action_variant|
|
69
|
+
it "prepares #{action_variant} command" do
|
70
|
+
expect_command(host.ip(object_variant, action_variant, {
|
71
|
+
address: '01:80:c2:00:00:0e',
|
72
|
+
dev: 'eth0'
|
73
|
+
}), "ip maddress #{action_variant} address 01:80:c2:00:00:0e dev eth0")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[neighbour neigh n].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant), 'ip -json neighbour show')
|
38
|
+
expect_command(host.ip(object_variant, {
|
39
|
+
stats: true,
|
40
|
+
to: '10.10.10.10',
|
41
|
+
dev: 'ens3',
|
42
|
+
vrf: 'red',
|
43
|
+
proxy: true,
|
44
|
+
unused: true,
|
45
|
+
nud: 'all'
|
46
|
+
}), 'ip -json -s neighbour show to 10.10.10.10 dev ens3 nud all proxy unused')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'without json support' do
|
52
|
+
before(:all) do
|
53
|
+
StubNetwork.stub_command!(:ip_version) do
|
54
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 10
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
after(:all) do
|
59
|
+
StubNetwork.unstub_command!(:ip_version)
|
60
|
+
end
|
61
|
+
|
62
|
+
%w[show list].each do |action_variant|
|
63
|
+
it "prepares #{action_variant} command" do
|
64
|
+
expect_command(host.ip(object_variant), 'ip neighbour show')
|
65
|
+
expect_command(host.ip(object_variant, {
|
66
|
+
stats: true,
|
67
|
+
to: '10.10.10.10',
|
68
|
+
dev: 'ens3',
|
69
|
+
vrf: 'red',
|
70
|
+
proxy: true,
|
71
|
+
unused: true,
|
72
|
+
nud: 'all'
|
73
|
+
}), 'ip -s neighbour show to 10.10.10.10 dev ens3 nud all proxy unused')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
%w[add change replace].each do |action_variant|
|
79
|
+
it "prepares #{action_variant} command" do
|
80
|
+
expect_command(host.ip(object_variant, action_variant, {
|
81
|
+
to: '192.168.16.14',
|
82
|
+
dev: 'eno1',
|
83
|
+
proxy: true,
|
84
|
+
router: true,
|
85
|
+
extern_learn: true,
|
86
|
+
permanent: true,
|
87
|
+
nud: 'probe',
|
88
|
+
lladdr: '17:39:D1:24:53:CF'
|
89
|
+
}), "ip neighbour #{action_variant} to 192.168.16.14 dev eno1 lladdr 17:39:D1:24:53:CF nud probe proxy router extern_learn")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
%w[delete del].each do |action_variant|
|
94
|
+
it "prepares #{action_variant} command" do
|
95
|
+
expect_command(host.ip(object_variant, action_variant, {
|
96
|
+
to: '192.168.16.14',
|
97
|
+
dev: 'eno1',
|
98
|
+
proxy: true,
|
99
|
+
router: true,
|
100
|
+
extern_learn: true,
|
101
|
+
permanent: true
|
102
|
+
}), "ip neighbour #{action_variant} to 192.168.16.14 dev eno1 proxy router extern_learn")
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'prepares flush command' do
|
107
|
+
expect_command(host.ip(object_variant, 'flush', {
|
108
|
+
stats: true,
|
109
|
+
to: '10.10.10.10',
|
110
|
+
dev: 'ens3',
|
111
|
+
vrf: 'red',
|
112
|
+
proxy: true,
|
113
|
+
unused: true,
|
114
|
+
nud: 'all'
|
115
|
+
}), 'ip -s neighbour flush to 10.10.10.10 dev ens3 nud all unused')
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
@@ -0,0 +1,174 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[route r ro rou rout].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant), 'ip -json route show')
|
38
|
+
expect_command(host.ip(object_variant, {
|
39
|
+
family: 'inet',
|
40
|
+
to: '10.0/16',
|
41
|
+
from: '10.1/16',
|
42
|
+
dev: 'eno4',
|
43
|
+
protocol: 'kernel',
|
44
|
+
dsfield: '0x30',
|
45
|
+
table: 'all',
|
46
|
+
vrf: 'blue',
|
47
|
+
cloned: true,
|
48
|
+
cached: true,
|
49
|
+
via: '10.0.0.1',
|
50
|
+
src: '10.5.5.5',
|
51
|
+
realms: '6'
|
52
|
+
}), 'ip -json -family inet route show to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'without json support' do
|
58
|
+
before(:all) do
|
59
|
+
StubNetwork.stub_command!(:ip_version) do
|
60
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 33
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
after(:all) do
|
65
|
+
StubNetwork.unstub_command!(:ip_version)
|
66
|
+
end
|
67
|
+
|
68
|
+
%w[show list].each do |action_variant|
|
69
|
+
it "prepares #{action_variant} command" do
|
70
|
+
expect_command(host.ip(object_variant), 'ip route show')
|
71
|
+
expect_command(host.ip(object_variant, {
|
72
|
+
family: 'inet',
|
73
|
+
to: '10.0/16',
|
74
|
+
from: '10.1/16',
|
75
|
+
dev: 'eno4',
|
76
|
+
protocol: 'kernel',
|
77
|
+
dsfield: '0x30',
|
78
|
+
table: 'all',
|
79
|
+
vrf: 'blue',
|
80
|
+
cloned: true,
|
81
|
+
cached: true,
|
82
|
+
via: '10.0.0.1',
|
83
|
+
src: '10.5.5.5',
|
84
|
+
realms: '6'
|
85
|
+
}), 'ip -family inet route show to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
%w[add change append del delete replace].each do |action_variant|
|
91
|
+
it "prepares #{action_variant} command" do
|
92
|
+
expect_command(host.ip(object_variant, action_variant, {
|
93
|
+
dev: 'eno2',
|
94
|
+
mtu: 1600,
|
95
|
+
congctl: 'test'
|
96
|
+
}), "ip route #{action_variant} dev eno2 mtu 1600 congctl test")
|
97
|
+
|
98
|
+
expect_command(host.ip(object_variant, action_variant, {
|
99
|
+
to: '0/0',
|
100
|
+
tos: '0x28',
|
101
|
+
dsfield: '0x98',
|
102
|
+
metric: 32,
|
103
|
+
table: 254,
|
104
|
+
vrf: 'green',
|
105
|
+
src: '172.3.3.3',
|
106
|
+
realm: '6',
|
107
|
+
mtu: 1600,
|
108
|
+
mtu_lock: true,
|
109
|
+
window: 3,
|
110
|
+
rtt: 4,
|
111
|
+
rttvar: 12,
|
112
|
+
rto_min: 1,
|
113
|
+
sshthresh: 0,
|
114
|
+
cwnd: 12,
|
115
|
+
initcwnd: 5,
|
116
|
+
initrwnd: 5,
|
117
|
+
features: 'ecn',
|
118
|
+
quickack: 'true',
|
119
|
+
fastopen_no_cookie: 'true',
|
120
|
+
congctl: 'test',
|
121
|
+
congctl_lock: true,
|
122
|
+
advmss: 7,
|
123
|
+
reordering: 3,
|
124
|
+
next_hop: {
|
125
|
+
via: '172.0.0.0',
|
126
|
+
dev: 'gateway',
|
127
|
+
weight: 100
|
128
|
+
},
|
129
|
+
scope: 0,
|
130
|
+
protocol: 'static',
|
131
|
+
onlink: true,
|
132
|
+
pref: 'high'
|
133
|
+
}), "ip route #{action_variant} to 0/0 tos 0x28 dsfield 0x98 metric 32 table 254 vrf green src 172.3.3.3 realm 6 mtu lock 1600 window 3 rtt 4 rttvar 12 rto_min 1 cwnd 12 initcwnd 5 initrwnd 5 features ecn quickack true fastopen_no_cookie true congctl lock test advmss 7 reordering 3 next_hop via 172.0.0.0 dev gateway weight 100 scope 0 protocol static onlink pref high")
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'prepares flush command' do
|
138
|
+
expect_command(host.ip(object_variant, 'flush', {
|
139
|
+
family: 'inet',
|
140
|
+
to: '10.0/16',
|
141
|
+
from: '10.1/16',
|
142
|
+
dev: 'eno4',
|
143
|
+
protocol: 'kernel',
|
144
|
+
dsfield: '0x30',
|
145
|
+
table: 'all',
|
146
|
+
vrf: 'blue',
|
147
|
+
cloned: true,
|
148
|
+
cached: true,
|
149
|
+
via: '10.0.0.1',
|
150
|
+
src: '10.5.5.5',
|
151
|
+
realms: '6'
|
152
|
+
}), 'ip -family inet route flush to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'prepares get command' do
|
156
|
+
expect_command(host.ip(object_variant, 'get', {
|
157
|
+
dev: 'eth1',
|
158
|
+
to: '10.0/16',
|
159
|
+
from: '10.1/16',
|
160
|
+
fibmatch: true,
|
161
|
+
tos: '0x28',
|
162
|
+
dsfield: '0x30',
|
163
|
+
iif: 'eth0',
|
164
|
+
oif: 'eth1',
|
165
|
+
mark: '0x20',
|
166
|
+
ipproto: 'tcp',
|
167
|
+
dport: 80,
|
168
|
+
sport: 80,
|
169
|
+
connected: true
|
170
|
+
}), 'ip route get fibmatch to 10.0/16 from 10.1/16 tos 0x28 dsfield 0x30 iif eth0 oif eth1 mark 0x20 ipproto tcp sport 80 dport 80 connected')
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[rule ru].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant, action_variant), 'ip -json rule show')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
%w[add delete del].each do |action_variant|
|
42
|
+
it "prepares #{action_variant} command" do
|
43
|
+
expect_command(host.ip(object_variant, action_variant, {
|
44
|
+
type: 'unicast',
|
45
|
+
from: '0/0',
|
46
|
+
to: '0/0',
|
47
|
+
iif: 'eth0',
|
48
|
+
oif: 'eth1',
|
49
|
+
tos: '0x28',
|
50
|
+
dsfield: '0x30',
|
51
|
+
fwmark: 2,
|
52
|
+
uidrange: '1-10',
|
53
|
+
ipproto: 'tcp',
|
54
|
+
sport: 80,
|
55
|
+
dport: 80,
|
56
|
+
priority: 1,
|
57
|
+
table: 5,
|
58
|
+
protocol: 'kernel',
|
59
|
+
suppress_prefixlength: 8,
|
60
|
+
suppress_ifgroup: 6,
|
61
|
+
realms: '1',
|
62
|
+
nat: '10.1.1.1'
|
63
|
+
}), "ip rule #{action_variant} type unicast from 0/0 to 0/0 iif eth0 tos 0x28 dsfield 0x30 fwmark 2 priority 1 table 5 realms 1 nat 10.1.1.1")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'prepares flush command' do
|
68
|
+
expect_command(host.ip(object_variant, 'flush', {
|
69
|
+
protocol: 'kernel'
|
70
|
+
}), 'ip rule flush protocol kernel')
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'with ip version' do
|
23
|
+
it 'prepares ip_version command' do
|
24
|
+
expect_command(host.ip_version, 'ip -V')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kanrisuru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Mammina
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel_tests
|
@@ -245,6 +245,8 @@ files:
|
|
245
245
|
- lib/kanrisuru/core/ip/commands/address.rb
|
246
246
|
- lib/kanrisuru/core/ip/commands/address_label.rb
|
247
247
|
- lib/kanrisuru/core/ip/commands/link.rb
|
248
|
+
- lib/kanrisuru/core/ip/commands/link_set_opts.rb
|
249
|
+
- lib/kanrisuru/core/ip/commands/link_type_opts.rb
|
248
250
|
- lib/kanrisuru/core/ip/commands/maddress.rb
|
249
251
|
- lib/kanrisuru/core/ip/commands/neighbour.rb
|
250
252
|
- lib/kanrisuru/core/ip/commands/route.rb
|
@@ -259,6 +261,7 @@ files:
|
|
259
261
|
- lib/kanrisuru/core/ip/parsers/neighbour.rb
|
260
262
|
- lib/kanrisuru/core/ip/parsers/route.rb
|
261
263
|
- lib/kanrisuru/core/ip/parsers/rule.rb
|
264
|
+
- lib/kanrisuru/core/ip/parsers/version.rb
|
262
265
|
- lib/kanrisuru/core/ip/types.rb
|
263
266
|
- lib/kanrisuru/core/mount.rb
|
264
267
|
- lib/kanrisuru/core/mount/commands.rb
|
@@ -437,6 +440,14 @@ files:
|
|
437
440
|
- spec/functional/core/apt_spec.rb
|
438
441
|
- spec/functional/core/archive_spec.rb
|
439
442
|
- spec/functional/core/find_spec.rb
|
443
|
+
- spec/functional/core/ip/ip_address_label_spec.rb
|
444
|
+
- spec/functional/core/ip/ip_address_spec.rb
|
445
|
+
- spec/functional/core/ip/ip_link_spec.rb
|
446
|
+
- spec/functional/core/ip/ip_maddress_spec.rb
|
447
|
+
- spec/functional/core/ip/ip_neighbour_spec.rb
|
448
|
+
- spec/functional/core/ip/ip_route_spec.rb
|
449
|
+
- spec/functional/core/ip/ip_rule_spec.rb
|
450
|
+
- spec/functional/core/ip/ip_spec.rb
|
440
451
|
- spec/functional/core/mount_spec.rb
|
441
452
|
- spec/functional/core/path_spec.rb
|
442
453
|
- spec/functional/core/socket_spec.rb
|