Is netlink socket designed to replace all IOCTL, or it is mostly for networking application.

I am thinking of use netlink socket as management interface for a driver I am working on. However, after some reading, my concern is I will neet to add a new netlink socket protocol type to the kernel header file netlink.h. In that file, the maximum number of netlink socket protocol type is limited to 32 with only about 16 left. So If everybody is using netlink socket as a IOCTL replacement this number can run out very quickly. I didn't see any mechanism to share the same protocol type among different driver or kernel modules.
Maybe I am missing somthing. Can anyone clarify this? Thanks.