Use Per-Link Prefixes in Network Data Models

We got pretty far in our data deduplication in network data model journey, from initial attempts to network modeled as a graph… but we still haven’t got rid of all the duplicate information.

For example, if we have multiple devices connected to the same subnet, why should we have to specify IP address and subnet mask for every device (literally begging the operators to make input errors). Wouldn’t it be better (assuming we don’t care about exact IP addresses on core links) to assign IP addresses automatically?


  1. Is it possible that your "" script doesn't work? Because there isn't a "ansible.cfg" file in "Data-Models" folder.
    Too bad that you used "if node != 'prefix'" in the templates. It looks cumbersome to me. I don't understand why you didn't use the nodes dictionary.
    Your "Network_Prefix/network.yml" data model reminds me of OSPFv3 with LSA type 1,2,8,9. But I don't think it was your intent to reinvent OSPFv3 LSA types, wasn't it?
    1. Yeah, I could use another layer of dictionaries (and it would definitely be a cleaner data model), but that seemed cumbersome to work with (from the operator perspective) at the time.

      As for OSPFv3 data types - there's only so many ways to solve a given problem in a semi-sane way, so most of the solutions will have at least a partial overlap ;)
  2. The underlying problem with your "" script lies in your ".gitignore" file.
    1. Thanks a million. Fixed.
  3. next step is to move that data into IPAM, so that each /31 is based on IPAM request :)
Add comment