Re: Altering preferred connection

Thanks for the tips, Thomas [but see below]

On 30 June 2017 at 20:55 Thomas Haller <thaller redhat com> wrote:

On Thu, 2017-06-29 at 13:14 +0100, Colin Helliwell wrote:

Is there a way to get NM to alter fully on-the-fly which connection
is preferred/default for traffic?
I see that I can modify the route-metric parameter: if the connection
is taken down and up again then I see the change in the output of
'route', and indeed this seems to change which connection is
But is there a way to poke the change through without the down/up?
(ideally via NM, or in any other safe & sane way)


if you modify a connection profile that is currently active on an
interface, those modifications do not automatically apply on the
interface. You only modify the profile
 -- with the exception of and connection.metered
 properties, these two apply immediately.

As you figured out, after you modified a profile, you can get the
connections working by doing a full down/up cycle. By just upping the
connection (again):

nmcli connection modify "$CON" ipv4.route-metric 42
 nmcli connection up "$CON"

Yep, ok with that

An alternative, a bit more graceful is

nmcli connection modify "$CON" ipv4.route-metric 42
 nmcli device reapply "$DEV"

These two commands are accepted, but 'route -n' doesn't indicate any change to the metric?

(This might be a side/different issue, but I tried a 'nmcli conn "$CON" up' in case that would help, and get 
"Error: Connection activation failed: Network registration timed out" - might be a different problem)

this takes the changes from the profile and applies them on the device
without going through a full down/up. Not all changes are re-applyable,
so, if you change something that isn't, the command will just fail and
do nothing. Basically, IP settings are reapplyable.

There is also

nmcli device set "$DEV" value [...]

for example

nmcli device set "$DEV" ipv4.route-metric 42

the difference is, that this change is run-time only. The connection never modified.

This one is more like what I'm aiming at - a non-volatile change to the current connection, rather than 
modifying it permanently.
However setting that property on the Device is failing:

root@wg:~# nmcli device set ttyMux1 ipv4.route-metric 100
Error: property 'ipv4.route-metric' is not known.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]