Skip to content

Commit b662da2

Browse files
committed
add onlink network config support
1 parent dff629d commit b662da2

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

os/flake.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@
232232
(route: {
233233
destination = if (route.dst == "default") then "0.0.0.0/0" else route.dst;
234234
gateway = route.gateway;
235+
onlink = builtins.elem "onlink" route.flags;
235236
})
236237
(
237238
builtins.filter (
@@ -251,6 +252,7 @@
251252
routes = builtins.map (route: {
252253
Destination = route.destination;
253254
Gateway = route.gateway;
255+
GatewayOnLink = if (route.onlink) then "yes" else "no";
254256
}) interface.value.route;
255257
};
256258
}) network-config

os/installer/kexec.nix

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@
115115
ip address add $config dev $name
116116
done
117117
118+
ip link set $name up
119+
118120
for route in $routes; do
119121
protocol=$(echo "$route" | jq -r '.protocol')
120122
dev=$(echo "$route" | jq -r '.dev')
@@ -123,7 +125,13 @@
123125
continue
124126
fi
125127
126-
config="$(echo $route | jq -r '.dst') via $(echo $route | jq -r '.gateway')"
128+
args=""
129+
flags=$(echo "$route" | jq -r '.flags')
130+
if [[ $flags == *"onlink"* ]]; then
131+
args="$args onlink"
132+
fi
133+
134+
config="$(echo $route | jq -r '.dst') via $(echo $route | jq -r '.gateway') $args"
127135
ip route add $config dev $name
128136
done
129137
done

0 commit comments

Comments
 (0)