Add mtu for network connections#1101
Conversation
| )]); | ||
| let ethernet_config = HashMap::from([ | ||
| ( | ||
| "assigned-mac-address", |
There was a problem hiding this comment.
Wondering if we could do this assignation generally and not based in the specific connection type taking into account that in case of empty it could be removed later when the connection is cleaned up just to avoid the code duplication...
There was a problem hiding this comment.
Maybe something like this?
match &conn.config {
ConnectionConfig::Wireless(wireless) => {
connection_dbus.insert("type", WIRELESS_KEY.into());
result.extend(wireless_config_to_dbus(wireless));
}
// ...
}
let conn_config = HashMap::from([
(
"assigned-mac-address",
Value::new(conn.mac_address.to_string()),
),
("mtu", Value::new(conn.mtu)),
]);
if conn.is_ethernet() {
result.insert(ETHERNET_KEY, conn_config);
} else if let ConnectionConfig::Wireless(_) = conn.config {
result.get_mut(WIRELESS_KEY).unwrap().extend(conn_config);
}or like this?
match &conn.config {
ConnectionConfig::Wireless(wireless) => {
connection_dbus.insert("type", WIRELESS_KEY.into());
result.extend(wireless_config_to_dbus(wireless));
}
// ...
}
add_base_conn_values(conn, &mut result);
// ...
}
fn add_base_conn_values(conn: &Connection, conn_result: &mut NestedHash) {
let conn_type = if conn.is_ethernet() {
ETHERNET_KEY
} else if let ConnectionConfig::Wireless(_) = conn.config {
WIRELESS_KEY
} else {
return;
};
let conn_config = HashMap::from([
(
"assigned-mac-address",
Value::new(conn.mac_address.to_string()),
),
("mtu", Value::new(conn.mtu)),
]);
if let Some(conn_entry) = conn_result.get_mut(conn_type) {
conn_entry.extend(conn_config);
} else {
conn_result.insert(conn_type, conn_config);
}
}Generally without identifying connection type I don't think is possible, because it needs to be inserted at the *_KEY key.
The above solutions at least avoid the duplicate HashMap generation code. I personally don't really have a preference 🙂
|
In general LGTM |
1febd18 to
4cc8b91
Compare
imobachgs
left a comment
There was a problem hiding this comment.
In general it looks good. Just a minor comment about a call to unwrap.
| let mut wireless_dbus = wireless_config_to_dbus(wireless); | ||
| wireless_dbus | ||
| .get_mut(WIRELESS_KEY) | ||
| .unwrap() |
There was a problem hiding this comment.
If possible, I would avoid unwrapping (and potentially crashing). You can use a default value or ignore it completely.
There was a problem hiding this comment.
I mean currently this is impossible, but for future-proofing, sure.
4cc8b91 to
4c6427a
Compare
4c6427a to
26fc60d
Compare
Prepare for releasing Agama 9. It includes the following pull requests: - #1101 - #1202 - #1228 - #1231 - #1236 - #1238 - #1239 - #1240 - #1242 - #1243 - #1244 - #1245 - #1246 - #1247 - #1248 - #1249 - #1250 - #1251 - #1252 - #1253 - #1254 - #1255 - #1256 - #1257 - #1258 - #1259 - #1260 - #1261 - #1264 - #1265 - #1267 - #1268 - #1269 - #1270 - #1271 - #1272 - #1273 - #1274 - #1279 - #1280 - #1284 - #1285 - #1286 - #1287 - #1288 - #1289 - #1290 - #1291 - #1292 - #1293 - #1294 - #1295 - #1296 - #1298 - #1299 - #1300 - #1301 - #1302 - #1303 - #1304 - #1305 - #1306 - #1307 - #1308 - #1309 - #1310 - #1311 - #1312 - #1313 - #1314 - #1315 - #1316 - #1317 - #1318 - #1319 - #1320 - #1321 - #1322 - #1323 - #1324 - #1325 - #1326 - #1328 - #1329 - #1331 - #1332 - #1334 - #1338 - #1340 - #1341 - #1342 - #1343 - #1344 - #1345 - #1348 - #1349 - #1351 - #1352 - #1353 - #1354 - #1355 - #1356 - #1357 - #1358 - #1359 - #1360 - #1361 - #1362 - #1363 - #1365 - #1366 - #1367 - #1368 - #1371 - #1372 - #1374 - #1375 - #1376 - #1379 - #1380 - #1381 - #1383 - #1384 - #1385 - #1386 - #1387 - #1388 - #1389 - #1391 - #1392 - #1394 - #1395 - #1397 - #1398 - #1399 - #1400 - #1403
Problem
No mtu support for network connections
Solution
Add mtu for network connections
Testing