1. 24 Dec, 2021 1 commit
  2. 23 Dec, 2021 1 commit
    • Beniamino Galvani's avatar
      libnm: fix warning when setting wrong ethtool ternary value · 25e705c3
      Beniamino Galvani authored
        $ nmcli connection modify dummy1 ethtool.feature-rx a
        (process:3077356): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
        This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
        The overwriting error message was: 'a' is not valid; use 'on', 'off', or 'ignore'
        Error: failed to modify ethtool.feature-rx: 'a' is not valid; use [true, yes, on], [false, no, off] or [unknown].
      
      Fixes: e5b46aa3 ('cli: use nmc_string_to_ternary() to parse ternary in _set_fcn_ethtool()')
      25e705c3
  3. 21 Dec, 2021 1 commit
  4. 20 Dec, 2021 1 commit
    • Wen Liang's avatar
      core: don't reset assume state if the device is unmanaged by parent · 87674740
      Wen Liang authored and Wen Liang's avatar Wen Liang committed
      When the device gets realized, similar to the situation that the device
       is unmanaged by platform-init, if the device is still unmanaged by
      parent and we clear the assume state. Then, when the device becomes
      managed, NM is not able to properly assume the device using the UUID.
      
      Therefore, we should not clear the assume state if the device has only
      the NM_UNMANAGED_PLATFORM_INIT or the NM_UNMANAGED_PARENT flag set
      in the unmanaged flags.
      
      The previous commit 3c4450aa ('core: don't reset assume state too
      early') did something similar for NM_UNMANAGED_PLATFORM_INIT flag only.
      87674740
  5. 15 Dec, 2021 1 commit
  6. 10 Dec, 2021 1 commit
  7. 09 Dec, 2021 2 commits
    • Beniamino Galvani's avatar
      device: fix update of the ip-iface property · 02de0428
      Beniamino Galvani authored
      Before the l3cfg rework, the ip-iface property was exported only for
      interfaces with an ifindex, and only in some device states.
      
      Restore the old behavior since it is part of the API. For example,
      firewalld uses the property to tell which interfaces have a ifindex.
      
      Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration')
      
      https://bugzilla.redhat.com/show_bug.cgi?id=2026024
      NetworkManager/NetworkManager!1042
      02de0428
    • Beniamino Galvani's avatar
      platform: add bpf filter to ignore routes from routing daemons · e9ca5583
      Beniamino Galvani authored
      Routing daemons can add a large amount of routes to the
      system. Currently NM receives netlink notifications for all those
      routes and exposes them on D-Bus. With many routes, the daemon becomes
      increasingly slow and uses a lot of memory.
      
      The rtm_protocol field of the route indicates the source of the
      route. From /usr/include/linux/rtnetlink.h, the allowed values are:
      
        #define RTPROT_UNSPEC          0
        #define RTPROT_REDIRECT        1        /* Route installed by ICMP redirects;
                                                   not used by current IPv4 */
        #define RTPROT_KERNEL          2        /* Route installed by kernel */
        #define RTPROT_BOOT            3        /* Route installed during boot */
        #define RTPROT_STATIC          4        /* Route installed by administrator */
      
        /* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
           they are just passed from user and back as is.
           It will be used by hypothetical multiple routing daemons.
           Note that protocol values should be standardized in order to
           avoid conflicts.
         */
      
        #define RTPROT_GATED           8        /* Apparently, GateD */
        #define RTPROT_RA              9        /* RDISC/ND router advertisements */
        #define RTPROT_MRT            10        /* Merit MRT */
        #define RTPROT_ZEBRA          11        /* Zebra */
        #define RTPROT_BIRD           12        /* BIRD */
        #define RTPROT_DNROUTED       13        /* DECnet routing daemon */
        #define RTPROT_XORP           14        /* XORP */
        #define RTPROT_NTK            15        /* Netsukuku */
        #define RTPROT_DHCP           16        /* DHCP client */
        #define RTPROT_MROUTED        17        /* Multicast daemon */
        #define RTPROT_KEEPALIVED     18        /* Keepalived daemon */
        #define RTPROT_BABEL          42        /* Babel daemon */
        #define RTPROT_OPENR          99        /* Open Routing (Open/R) Routes */
        #define RTPROT_BGP           186        /* BGP Routes */
        #define RTPROT_ISIS          187        /* ISIS Routes */
        #define RTPROT_OSPF          188        /* OSPF Routes */
        #define RTPROT_RIP           189        /* RIP Routes */
        #define RTPROT_EIGRP         192        /* EIGRP Routes */
      
      Since NM uses only values <= RTPROT_STATIC, plus RTPROT_RA and
      RTPROT_DHCP, add a BPF filter to the netlink socket to discard
      notifications for other route types.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1861527
      NetworkManager/NetworkManager!1038
      e9ca5583
  8. 01 Dec, 2021 6 commits
  9. 30 Nov, 2021 2 commits
  10. 29 Nov, 2021 5 commits
  11. 28 Nov, 2021 1 commit
    • Fernando Fernández Mancera's avatar
      ovsdb: deactivate removed device if does not have a master · e44cdc79
      Fernando Fernández Mancera authored
      When using OVS link aggregation ports, NetworkManager ovsdb is removing
      the ports when cleaning it up. If that happens, it should deactivate the
      device even if it does not have controller or the state is not
      assume/external.
      
      An interface that is port of the OVS bonding can be activated before the
      ovsdb clean up, if it is not deactivated then NetworkManager will finish
      with a wrong configuration. The 'ovsdb_device_removed()' is already
      checking that the device is "ovs-interface" with subtype "system".
      e44cdc79
  12. 26 Nov, 2021 1 commit
  13. 19 Nov, 2021 5 commits
  14. 18 Nov, 2021 12 commits