Zend certified PHP/Magento developer

ubuntu 18.04 setting static routes with netplan

trying to set a static route with netplan on ubuntu 18.04. My config is as follows

network:
version: 2
renderer: networkd
ethernets:
    eno1:
        dhcp4: no
        dhcp6: no
        addresses:
            - 192.168.10.20/24
        gateway4: 192.168.10.1
        routes:
        - to: 192.168.9.1/24
          via: 192.168.10.2
        nameservers:
            addresses:
            - 192.168.10.3

The route is not set and I get this message in syslog

eno1: Could not set route: Invalid argument

the debug output is:

root@schoenberg:/etc/netplan# netplan --debug apply
** (generate:2421): DEBUG: 21:04:12.721: Processing input file /etc/netplan/01-netconfig.yaml..
** (generate:2421): DEBUG: 21:04:12.721: starting new processing pass
** (generate:2421): DEBUG: 21:04:12.721: eno1: setting default backend to 1
** (generate:2421): DEBUG: 21:04:12.721: Configuration is valid
** (generate:2421): DEBUG: 21:04:12.721: Generating output files..
** (generate:2421): DEBUG: 21:04:12.721: NetworkManager: definition eno1 is not for us (backend 1)
DEBUG:netplan generated networkd configuration changed, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:eno1 not found in {}
DEBUG:Merged config:
network:
  bonds: {}
  bridges: {}
  ethernets:
    eno1:
      addresses:
      - 192.168.10.20/24
      dhcp4: false
      dhcp6: false
      gateway4: 192.168.10.1
      nameservers:
        addresses:
        - 192.168.10.3
      routes:
      - to: 192.168.9.1/24
        via: 192.168.10.2
  vlans: {}
  wifis: {}

DEBUG:Skipping non-physical interface: lo
DEBUG:Skipping non-physical interface: enp4s0
DEBUG:device eno1 operstate is up, not changing
DEBUG:Skipping non-physical interface: docker0
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for enp4s0
DEBUG:netplan triggering .link rules for eno1
DEBUG:netplan triggering .link rules for docker0
root@schoenberg:/etc/netplan#