1.. _hooks-bootp: 2 3BOOTP Support 4============= 5 6.. note:: 7 8 This library is still in the experimental phase. Use with care! 9 10 11This hooks library adds support for BOOTP with vendor information extensions 12(`RFC 1497 <https://tools.ietf.org/html/rfc1497>`__). Received BOOTP 13requests are recognized, translated into DHCPREQUEST packets by adding 14a dhcp-message-type option and put into the "BOOTP" client class. 15Members of this class get infinite lifetime leases but the class can 16be used too for instance to guard a pool of addresses. 17 18The DHCP specific options, such as dhcp-message-type, are removed from 19the server's responses and responses shorter than the BOOTP minimum 20size (300 octets) are padded to this size. 21 22The library is available since Kea 1.7.2 and can be loaded in a 23similar way to other hook libraries by the ``kea-dhcp4`` process. 24It takes no parameter. 25 26:: 27 28 "Dhcp4": { 29 "hooks-libraries": [ 30 { "library": "/usr/local/lib/libdhcp_bootp.so" }, 31 ... 32 ] 33 } 34 35 36.. note:: 37 38 This library is only meant to be loaded by the ``kea-dhcp4`` process 39 as there is no BOOTP protocol for IPv6. 40 41.. note:: 42 43 A host reservation for a BOOTP client should use the hardware address 44 as the identifier (the client-id option is a DHCP specific option). 45 46.. _hooks-bootp-config: 47 48Incoming BOOTP packets are added to the BOOTP class. This can be used 49to segregate BOOTP clients to separate pools. For example you can do 50the following: 51 52:: 53 54 "Dhcp4": { 55 "client-classes": [ 56 { 57 // The DHCP class is the complement of the BOOTP class 58 "name": "DHCP", 59 "test": "not member('BOOTP')" 60 } 61 ], 62 "subnet4": [ 63 { 64 "subnet": "192.0.2.0/24", 65 "pools": [ 66 { 67 // BOOTP clients will be handled here 68 "pool": "192.0.2.200 - 192.0.2.254", 69 "client-class": "BOOTP" 70 }, 71 { 72 // Regular DHCP clients will be handled here 73 "pool": "192.0.2.1 - 192.0.2.199", 74 "client-class": "DHCP" 75 }], 76 ... 77 }, 78 ... 79 ], 80 ... 81 } 82 83 84.. _hooks-bootp-limitations: 85 86BOOTP Hooks Limitation 87~~~~~~~~~~~~~~~~~~~~~~ 88 89Currently the BOOTP library has the following limitation: 90 91- A basic BOOTP as defined in `RFC 951 92 <https://tools.ietf.org/html/rfc951>`__ is not supported. Kea only 93 supports the BOOTP with vendor information extensions. Depending on 94 the demand, this may or may not be implemented in the future. 95