[PATCH v3 0/2] Include lease time option into DHCP settings

Julio Faracco jcfaracco at gmail.com
Wed Apr 22 20:05:56 UTC 2020


This series is based on latest series from Nehal. It includes a new
entry called <lease/> under <range/> and <host/> from <dhcp/> scope.
This was implemented to include independent lease time for each line and
dnsmasq option. So, users are able to define one lease time for ranges
and other different for each host entry. The new syntax is simlar with:

    <dhcp>
      <range ...>
        <lease expiry='14' unit='mins'/>
      </range>
      <host ...>
        <lease expiry='1' unit='hours'/>
      </host>
    </dhcp>

It will produce a option in dnsmasq configuration file:
dhcp-range=192.168.122.2,192.168.122.254,255.255.255.0,14m

And some contents into hostsfile:
00:16:3e:77:e2:ed,192.168.122.10,a.example.com,1h

This series includes some test cases to cover lease time XML syntax
also. Now, each test case requires a hostsfile to test this specific
setting.

- v1-v2: Change XML syntax according Daniel's suggestion.
- v2-v3: Fix memory leak and test dependency issue.

Julio Faracco (2):
  conf: Add <lease/> option for <dhcp/> settings
  tests: Add tests for <lease/> to cover dnsmasq settings

 docs/schemas/basictypes.rng                   |   8 +
 docs/schemas/network.rng                      |  20 +++
 src/conf/network_conf.c                       | 159 +++++++++++++++---
 src/conf/network_conf.h                       |  27 ++-
 src/libvirt_private.syms                      |   3 +
 src/network/bridge_driver.c                   |  56 +++++-
 src/network/bridge_driver.h                   |   1 +
 src/test/test_driver.c                        |   2 +-
 src/util/virdnsmasq.c                         |  60 ++++---
 src/util/virdnsmasq.h                         |   3 +
 src/vbox/vbox_network.c                       |  16 +-
 .../dhcp6-nat-network.hostsfile               |   7 +
 .../dhcp6-network.hostsfile                   |   5 +
 .../dhcp6host-routed-network.hostsfile        |   7 +
 .../networkxml2confdata/leasetime-hours.conf  |  16 ++
 .../leasetime-hours.hostsfile                 |   2 +
 tests/networkxml2confdata/leasetime-hours.xml |  19 +++
 .../leasetime-infinite.conf                   |  16 ++
 .../leasetime-infinite.hostsfile              |   2 +
 .../leasetime-infinite.xml                    |  19 +++
 .../leasetime-minutes.conf                    |  16 ++
 .../leasetime-minutes.hostsfile               |   2 +
 .../networkxml2confdata/leasetime-minutes.xml |  19 +++
 .../leasetime-seconds.conf                    |  16 ++
 .../leasetime-seconds.hostsfile               |   2 +
 .../networkxml2confdata/leasetime-seconds.xml |  19 +++
 ...t-network-dns-srv-record-minimal.hostsfile |   2 +
 .../nat-network-dns-srv-record.hostsfile      |   2 +
 .../nat-network-dns-txt-record.hostsfile      |   2 +
 .../nat-network-mtu.hostsfile                 |   2 +
 .../nat-network-name-with-quotes.hostsfile    |   2 +
 .../networkxml2confdata/nat-network.hostsfile |   2 +
 .../ptr-domains-auto.hostsfile                |   2 +
 tests/networkxml2conftest.c                   |  42 ++++-
 tests/networkxml2xmlin/leasetime-hours.xml    |  19 +++
 tests/networkxml2xmlin/leasetime-infinite.xml |  19 +++
 tests/networkxml2xmlin/leasetime-minutes.xml  |  19 +++
 tests/networkxml2xmlin/leasetime-seconds.xml  |  19 +++
 tests/networkxml2xmlout/leasetime-hours.xml   |  21 +++
 .../networkxml2xmlout/leasetime-infinite.xml  |  21 +++
 tests/networkxml2xmlout/leasetime-minutes.xml |  21 +++
 tests/networkxml2xmlout/leasetime-seconds.xml |  21 +++
 tests/networkxml2xmltest.c                    |   4 +
 43 files changed, 676 insertions(+), 66 deletions(-)
 create mode 100644 tests/networkxml2confdata/dhcp6-nat-network.hostsfile
 create mode 100644 tests/networkxml2confdata/dhcp6-network.hostsfile
 create mode 100644 tests/networkxml2confdata/dhcp6host-routed-network.hostsfile
 create mode 100644 tests/networkxml2confdata/leasetime-hours.conf
 create mode 100644 tests/networkxml2confdata/leasetime-hours.hostsfile
 create mode 100644 tests/networkxml2confdata/leasetime-hours.xml
 create mode 100644 tests/networkxml2confdata/leasetime-infinite.conf
 create mode 100644 tests/networkxml2confdata/leasetime-infinite.hostsfile
 create mode 100644 tests/networkxml2confdata/leasetime-infinite.xml
 create mode 100644 tests/networkxml2confdata/leasetime-minutes.conf
 create mode 100644 tests/networkxml2confdata/leasetime-minutes.hostsfile
 create mode 100644 tests/networkxml2confdata/leasetime-minutes.xml
 create mode 100644 tests/networkxml2confdata/leasetime-seconds.conf
 create mode 100644 tests/networkxml2confdata/leasetime-seconds.hostsfile
 create mode 100644 tests/networkxml2confdata/leasetime-seconds.xml
 create mode 100644 tests/networkxml2confdata/nat-network-dns-srv-record-minimal.hostsfile
 create mode 100644 tests/networkxml2confdata/nat-network-dns-srv-record.hostsfile
 create mode 100644 tests/networkxml2confdata/nat-network-dns-txt-record.hostsfile
 create mode 100644 tests/networkxml2confdata/nat-network-mtu.hostsfile
 create mode 100644 tests/networkxml2confdata/nat-network-name-with-quotes.hostsfile
 create mode 100644 tests/networkxml2confdata/nat-network.hostsfile
 create mode 100644 tests/networkxml2confdata/ptr-domains-auto.hostsfile
 create mode 100644 tests/networkxml2xmlin/leasetime-hours.xml
 create mode 100644 tests/networkxml2xmlin/leasetime-infinite.xml
 create mode 100644 tests/networkxml2xmlin/leasetime-minutes.xml
 create mode 100644 tests/networkxml2xmlin/leasetime-seconds.xml
 create mode 100644 tests/networkxml2xmlout/leasetime-hours.xml
 create mode 100644 tests/networkxml2xmlout/leasetime-infinite.xml
 create mode 100644 tests/networkxml2xmlout/leasetime-minutes.xml
 create mode 100644 tests/networkxml2xmlout/leasetime-seconds.xml

-- 
2.25.3





More information about the libvir-list mailing list