feat: support ex4100-f-48P, ex4400-24X & ex4400-em-4Y
This commit is contained in:
parent
0bdbc339da
commit
a05e1e653a
4 changed files with 234 additions and 0 deletions
96
ex4100-f-48P.nix
Normal file
96
ex4100-f-48P.nix
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
poe = [
|
||||||
|
"ge-0/0/0"
|
||||||
|
"ge-0/0/1"
|
||||||
|
"ge-0/0/2"
|
||||||
|
"ge-0/0/3"
|
||||||
|
"ge-0/0/4"
|
||||||
|
"ge-0/0/5"
|
||||||
|
"ge-0/0/6"
|
||||||
|
"ge-0/0/7"
|
||||||
|
"ge-0/0/8"
|
||||||
|
"ge-0/0/9"
|
||||||
|
"ge-0/0/10"
|
||||||
|
"ge-0/0/11"
|
||||||
|
"ge-0/0/12"
|
||||||
|
"ge-0/0/13"
|
||||||
|
"ge-0/0/14"
|
||||||
|
"ge-0/0/15"
|
||||||
|
"ge-0/0/16"
|
||||||
|
"ge-0/0/17"
|
||||||
|
"ge-0/0/18"
|
||||||
|
"ge-0/0/19"
|
||||||
|
"ge-0/0/20"
|
||||||
|
"ge-0/0/21"
|
||||||
|
"ge-0/0/22"
|
||||||
|
"ge-0/0/23"
|
||||||
|
"ge-0/0/24"
|
||||||
|
"ge-0/0/25"
|
||||||
|
"ge-0/0/26"
|
||||||
|
"ge-0/0/27"
|
||||||
|
"ge-0/0/28"
|
||||||
|
"ge-0/0/29"
|
||||||
|
"ge-0/0/30"
|
||||||
|
"ge-0/0/31"
|
||||||
|
"ge-0/0/32"
|
||||||
|
"ge-0/0/33"
|
||||||
|
"ge-0/0/34"
|
||||||
|
"ge-0/0/35"
|
||||||
|
"ge-0/0/36"
|
||||||
|
"ge-0/0/37"
|
||||||
|
"ge-0/0/38"
|
||||||
|
"ge-0/0/39"
|
||||||
|
"ge-0/0/40"
|
||||||
|
"ge-0/0/41"
|
||||||
|
"ge-0/0/42"
|
||||||
|
"ge-0/0/43"
|
||||||
|
"ge-0/0/44"
|
||||||
|
"ge-0/0/45"
|
||||||
|
"ge-0/0/46"
|
||||||
|
"ge-0/0/47"
|
||||||
|
];
|
||||||
|
non_poe = [
|
||||||
|
# sfp ports
|
||||||
|
"ge-0/1/0"
|
||||||
|
"ge-0/1/1"
|
||||||
|
"ge-0/1/2"
|
||||||
|
"ge-0/1/3"
|
||||||
|
|
||||||
|
"xe-0/1/0"
|
||||||
|
"xe-0/1/1"
|
||||||
|
"xe-0/1/2"
|
||||||
|
"xe-0/1/3"
|
||||||
|
|
||||||
|
"et-0/1/0"
|
||||||
|
"et-0/1/1"
|
||||||
|
"et-0/1/2"
|
||||||
|
"et-0/1/3"
|
||||||
|
|
||||||
|
# uplink block
|
||||||
|
"ge-0/2/0"
|
||||||
|
"ge-0/2/1"
|
||||||
|
"ge-0/2/2"
|
||||||
|
"ge-0/2/3"
|
||||||
|
|
||||||
|
"xe-0/2/0"
|
||||||
|
"xe-0/2/1"
|
||||||
|
"xe-0/2/2"
|
||||||
|
"xe-0/2/3"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
netconf.mandatoryInterfaces =
|
||||||
|
lib.listToAttrs (
|
||||||
|
map (name: {
|
||||||
|
inherit name;
|
||||||
|
value.supportPoE = true;
|
||||||
|
}) poe
|
||||||
|
)
|
||||||
|
// lib.listToAttrs (
|
||||||
|
map (name: {
|
||||||
|
inherit name;
|
||||||
|
value.supportPoE = false;
|
||||||
|
}) non_poe
|
||||||
|
);
|
||||||
|
}
|
43
ex4400-24X.nix
Normal file
43
ex4400-24X.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
gexe = [
|
||||||
|
"0/0"
|
||||||
|
"0/1"
|
||||||
|
"0/2"
|
||||||
|
"0/3"
|
||||||
|
"0/4"
|
||||||
|
"0/5"
|
||||||
|
"0/6"
|
||||||
|
"0/7"
|
||||||
|
"0/8"
|
||||||
|
"0/9"
|
||||||
|
"0/10"
|
||||||
|
"0/11"
|
||||||
|
"0/12"
|
||||||
|
"0/13"
|
||||||
|
"0/14"
|
||||||
|
"0/15"
|
||||||
|
"0/16"
|
||||||
|
"0/17"
|
||||||
|
"0/18"
|
||||||
|
"0/19"
|
||||||
|
"0/20"
|
||||||
|
"0/21"
|
||||||
|
"0/22"
|
||||||
|
"0/23"
|
||||||
|
];
|
||||||
|
ge = gexe;
|
||||||
|
xe = gexe;
|
||||||
|
et = [
|
||||||
|
"1/0"
|
||||||
|
"1/1"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
netconf.mandatoryInterfaces = lib.listToAttrs (
|
||||||
|
map (name: {
|
||||||
|
inherit name;
|
||||||
|
value.supportPoE = false;
|
||||||
|
}) (map (i: "ge-0/" + i) ge ++ map (i: "xe-0/" + i) xe ++ map (i: "et-0/" + i) et)
|
||||||
|
);
|
||||||
|
}
|
17
ex4400-em-4Y.nix
Normal file
17
ex4400-em-4Y.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
full = [
|
||||||
|
"2/0"
|
||||||
|
"2/1"
|
||||||
|
"2/2"
|
||||||
|
"2/3"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
netconf.mandatoryInterfaces = lib.listToAttrs (
|
||||||
|
map (name: {
|
||||||
|
inherit name;
|
||||||
|
value.supportPoE = false;
|
||||||
|
}) (map (i: "ge-0/" + i) full ++ map (i: "xe-0/" + i) full ++ map (i: "et-0/" + i) full)
|
||||||
|
);
|
||||||
|
}
|
|
@ -161,4 +161,82 @@ in
|
||||||
"irb".inet6.addresses = [ "fd26:baf9:d250:8000::2001/64" ];
|
"irb".inet6.addresses = [ "fd26:baf9:d250:8000::2001/64" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
netaccess00 = {
|
||||||
|
deployment.targetHost = "netaccess00.dgn";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./ex4100-f-48P.nix
|
||||||
|
default
|
||||||
|
];
|
||||||
|
|
||||||
|
dgn-interfaces =
|
||||||
|
let
|
||||||
|
admin-intf.ethernet-switching = {
|
||||||
|
interface-mode = "trunk";
|
||||||
|
vlans = [ "all" ];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"xe-0/1/0" = admin-intf;
|
||||||
|
"ge-0/1/0" = admin-intf;
|
||||||
|
"et-0/1/0" = admin-intf;
|
||||||
|
"xe-0/1/1" = admin-intf;
|
||||||
|
"ge-0/1/1" = admin-intf;
|
||||||
|
"et-0/1/1" = admin-intf;
|
||||||
|
"xe-0/1/2" = admin-intf;
|
||||||
|
"ge-0/1/2" = admin-intf;
|
||||||
|
"et-0/1/2" = admin-intf;
|
||||||
|
"xe-0/1/3" = admin-intf;
|
||||||
|
"ge-0/1/3" = admin-intf;
|
||||||
|
"et-0/1/3" = admin-intf;
|
||||||
|
|
||||||
|
"xe-0/2/0" = admin-intf;
|
||||||
|
"ge-0/2/0" = admin-intf;
|
||||||
|
"xe-0/2/1" = admin-intf;
|
||||||
|
"ge-0/2/1" = admin-intf;
|
||||||
|
"xe-0/2/2" = admin-intf;
|
||||||
|
"ge-0/2/2" = admin-intf;
|
||||||
|
"xe-0/2/3" = admin-intf;
|
||||||
|
"ge-0/2/3" = admin-intf;
|
||||||
|
|
||||||
|
"ge-0/0/47".ethernet-switching = {
|
||||||
|
interface-mode = "trunk";
|
||||||
|
vlans = [ "all" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# management
|
||||||
|
"me0".inet.addresses = [ "192.168.2.2/24" ];
|
||||||
|
"irb".inet6.addresses = [ "fd26:baf9:d250:8000::200f/64" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
netcore00 = {
|
||||||
|
deployment.targetHost = "netcore00.dgn";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./ex4400-24X.nix
|
||||||
|
./ex4400-em-4Y.nix
|
||||||
|
default
|
||||||
|
];
|
||||||
|
|
||||||
|
dgn-interfaces =
|
||||||
|
let
|
||||||
|
admin-intf.ethernet-switching = {
|
||||||
|
interface-mode = "trunk";
|
||||||
|
vlans = [ "all" ];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"xe-0/2/0" = admin-intf;
|
||||||
|
"ge-0/2/0" = admin-intf;
|
||||||
|
"et-0/2/0" = admin-intf;
|
||||||
|
|
||||||
|
"ge-0/0/22" = admin-intf;
|
||||||
|
"xe-0/0/22" = admin-intf;
|
||||||
|
|
||||||
|
"me0".inet.addresses = [ "192.168.2.3/24" ];
|
||||||
|
"irb".inet6.addresses = [ "fd26:baf9:d250:8000::100f/64" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue