Enabling SLP Server on openBMC
What is SLP
=======
Service Location Protocol (SLP) is a protocol that provides a framework to allow networking applications to discover the existence, location, and configuration of networked services in enterprise networks.
openSLP is widely accepted in the industry
What do we need to do?
==============
1) Bring SLP(OpenSLP) in image:- Write the bitbake recipe(didn't find the readily available bitbake recipe)
2) Configure the services through Settings daemon.
3) Write the .service file as it needs to start after network is up(after networkd-online.target)
How to configure
the services which needs to be registered with slpd
============================================
Option 1:- settingsd
Note: Gives the flexibility to change the configured services @ runtime. Do we require this functionality?
Option 2:conf file for discovery services
Note: During build time we can get the service info(service-name,port) from the existing infra(discoveryservice.bbclass)
How to register the
services
==================
1) Static Registration:- will not work as we need ip/host-name details which we don't have @build time.
2)
Application(new DBUS app) will register the configured services
to the slpd on startup.
We need to provide the dynamic registration support on BMC as IP of BMC can change any time. Registration of services with slpd takes the URL of the service which includes ip and port of the service which needs to be registered.
Create a DBUS service application
=====================
1) Once the service
starts it registers the configured services with slpd.
2) listening
on RTNETLINK event for ip change: raise a dbus signal(for the IP
change)