Can't set limits.ingress/engress on ipvlan profile instance

Hello,

I have a bunch of LXD instances, and now I need to set some limits on them.
Everything works OK except limits.ingress/engress

Here is a “testcfg” instance with the default profile

I say

root@bphost:~# lxc config device override testcfg eth0 limits.max=25Mbit
Device eth0 overridden for testcfg

and as a result

root@bphost:~# lxc config show testcfg -e
architecture: x86_64
config:
  .............
devices:
  eth0:
    limits.max: 25Mbit
    name: eth0
    network: lxdbr0
    type: nic
  .......
profiles:
- default

Another instance “h24681357” has ipvlan profile
I say

root@bphost:~# lxc config device override h24681357 eth0 limits.max=25Mbit
Error: Invalid devices: Device validation failed for "eth0": Invalid device option "limits.ingress"

Here is its config

root@bphost:~# lxc config show h24681357 -e
architecture: x86_64
config:
  image.architecture: amd64
  image.description: ubuntu 20.04 LTS amd64 (release) (20220711)
  image.label: release
  image.os: ubuntu
  image.release: focal
  image.serial: "20220711"
  image.type: squashfs
  image.version: "20.04"
  limits.cpu: "8"
  limits.memory: 4GB
  user.network-config: |
    #cloud-config
    version: 2
    ethernets:
      eth0:
        addresses:
          - 192.168.0.14/32
        dhcp4: no
        dhcp6: no
        nameservers:
          addresses: [8.8.8.8, 1.1.1.1]
        routes:
         - to: 0.0.0.0/0
           via: 169.254.0.1
           on-link: true
  volatile.....
  ........
devices:
  eth0:
    ipv4.address: 192.168.0.14
    nictype: ipvlan
    parent: eno1
    type: nic
  root:
    path: /
    pool: default
    size: 20GB
    type: disk
ephemeral: false
profiles:
- default
- ipvlan_192.168.0.14
stateful: false
description: ""

What did I do wrong?

ipvlan NICs don’t support limits.

You can see supported config keys here: Instance configuration - LXD documentation

Sorry, I’m new here. I had tried to read this document before, but quickly got lost in the new terms.

So ipvlan doesn’t support limits but routed does, right?

Yes, any NIC that has limits.* in its supported config keys in the documentation does.

So its either:

Which are the 3 NIC types that use a veth pair under the hood which is what is needed to support limits.

Many thanks for your help

1 Like