Hi, another thing turned up in my quest in evaluation the move from isc to kea dhcp.
I currently have all of the following options for identifying host reservations in isc dhcp: host-identifier option agent.circuit-id "lineid-1001"; host-identifier option agent.remote-id "/lineid-1002/"; host-identifier option agent.subscriber-id "lineid-1003"; We have older zyxel dslam that only have configurable remote-id. We also have newer zyxel gear where the dhcp snooping agent can insert both circuit-id and remote-id We also have cisco4506 switches that only do circuit-id. In another setup I have a vlan per customer where the cisco l3 gateway only supports inserting a subscriber-id. As you see the zyxel cpe we have also require strange quoting with / around the remote-id value. Our provisining system knows which access node a cpe is connected to and will provision the appropriate host reservation ( via patched omapi for isc dhcp ) depending on the specific cas.e We need all 3 though. No comibinations like recently requested on the list, just alternatives. The design paper on I found here https://kea.isc.org/wiki/HostReservationDesign says kea 1.1 would support all 3 circuit-id, remote-id, subscriber-id for the host identifier. The postgresql db schema only has circuit-id: ck@kea1:/usr/local/share/kea/scripts/pgsql$ grep host_identifier_type dhcpdb_create.pgsql | grep ^INSERT INSERT INTO host_identifier_type VALUES (0, 'hw-address'); INSERT INTO host_identifier_type VALUES (1, 'duid'); INSERT INTO host_identifier_type VALUES (2, 'circuit-id'); INSERT INTO host_identifier_type VALUES (3, 'client-id'); INSERT INTO host_identifier_type VALUES (4, 'flex-id'); ck@kea1:/usr/local/share/kea/scripts/pgsql$ Any reason remote-id and subscriber-id were left out. Or is this just missing in the db schema ? A related issue would turn up when using flex-id. As we neeed different identifiers depending on the access technology we might also need different flex-id instances. Currently we would be fine with ipv4 when remote-id and subscriber-id are added. Also in ipv6 we currently have all the ldra set to option 18 interface-id. Still a situation might turn up in the future where we might need multiple variations of flex-id. A possible design for supporting this would be to have named flex-id instances that you preconfigure in the config file and then reference by name. I am thinking of something like the following: "Dhcp6": { "reservations": [ { "identifier-type":"interface-id", "flex-id": "'foo'", "ip-addresses": [ "2001:db8::1" ] }, { "identifier-type":"remote-id", "flex-id": "'bar'", "ip-addresses": [ "2001:db8::2" ] }, ], "hooks-libraries": [ { "library": "/path/libdhcp_flex_id.so", "parameters": [ { "name": "interface-id", "identifier-type": " "identifier-expression": "relay6[2].option[18].hex" }, { "name": "remote-id", "identifier-expression": "relay6[2].option[37].hex" } [ }, ... ], Greetings Christian -- Christian Kratzer CK Software GmbH Email: [email protected] Wildberger Weg 24/2 Phone: +49 7032 893 997 - 0 D-71126 Gaeufelden Fax: +49 7032 893 997 - 9 HRB 245288, Amtsgericht Stuttgart Mobile: +49 171 1947 843 Geschaeftsfuehrer: Christian Kratzer Web: http://www.cksoft.de/ _______________________________________________ Kea-users mailing list [email protected] https://lists.isc.org/mailman/listinfo/kea-users
