Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
grid5000
reference-repository
Commits
cdabd6ca
Commit
cdabd6ca
authored
May 07, 2020
by
IMBERT Matthieu
Committed by
Baptiste Jonglez
Nov 12, 2020
Browse files
[kavlan6] update to kavlan ipv6 address plan
parent
db25d0a9
Changes
1
Show whitespace changes
Inline
Side-by-side
lib/refrepo/input_loader.rb
View file @
cdabd6ca
...
@@ -181,6 +181,8 @@ def add_ipv6(h)
...
@@ -181,6 +181,8 @@ def add_ipv6(h)
end
end
def
add_kavlan_ipv6s
(
h
)
def
add_kavlan_ipv6s
(
h
)
global_vlan_site
=
{}
h
[
'ipv6'
][
'site_global_kavlans'
].
each
{
|
key
,
value
|
global_vlan_site
[
value
]
=
key
}
h
[
'sites'
].
each_pair
do
|
site_uid
,
hs
|
h
[
'sites'
].
each_pair
do
|
site_uid
,
hs
|
hs
[
'clusters'
].
each_pair
do
|
_cluster_uid
,
hc
|
hs
[
'clusters'
].
each_pair
do
|
_cluster_uid
,
hc
|
next
if
!
hc
[
'kavlan'
]
# skip clusters where kavlan is globally set to false (used for initial cluster installation)
next
if
!
hc
[
'kavlan'
]
# skip clusters where kavlan is globally set to false (used for initial cluster installation)
...
@@ -200,8 +202,17 @@ def add_kavlan_ipv6s(h)
...
@@ -200,8 +202,17 @@ def add_kavlan_ipv6s(h)
hn
[
'kavlan'
][
iface
].
each_key
do
|
kvl
|
hn
[
'kavlan'
][
iface
].
each_key
do
|
kvl
|
kvl_id
=
kvl
.
split
(
'-'
)[
1
].
to_i
kvl_id
=
kvl
.
split
(
'-'
)[
1
].
to_i
ip6
=
h
[
'ipv6'
][
'prefix'
]
+
':'
ip6
=
h
[
'ipv6'
][
'prefix'
]
+
':'
case
kvl_id
when
1
..
3
# local non-routed
ip6
+=
'%x'
%
h
[
'ipv6'
][
'site_indexes'
][
site_uid
]
ip6
+=
'%x'
%
h
[
'ipv6'
][
'site_indexes'
][
site_uid
]
ip6
+=
'%x:'
%
(
kvl_id
+
0x80
)
ip6
+=
'%x:'
%
(
kvl_id
+
0x80
-
1
)
when
4
..
9
# local routed
ip6
+=
'%x'
%
h
[
'ipv6'
][
'site_indexes'
][
site_uid
]
ip6
+=
'%x:'
%
(
kvl_id
+
0x90
-
4
)
else
# global
ip6
+=
'%x'
%
h
[
'ipv6'
][
'site_indexes'
][
global_vlan_site
[
kvl_id
]]
ip6
+=
'%x:'
%
((
h
[
'ipv6'
][
'site_indexes'
][
site_uid
]
&
0x1f
)
+
0xa0
)
end
ip6
+=
'%x'
%
((
ip4
.
split
(
'.'
)[
2
].
to_i
&
0b1111
)
+
1
)
ip6
+=
'%x'
%
((
ip4
.
split
(
'.'
)[
2
].
to_i
&
0b1111
)
+
1
)
if
idx
>
0
if
idx
>
0
ip6
+=
':%x::'
%
idx
ip6
+=
':%x::'
%
idx
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment