<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Hi All,<br>
<p style="margin-bottom: 0cm; line-height: 100%"><br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%" align="center"><font
style="font-size: 14pt" size="4"><b>Enabling
SLP Server on openBMC</b></font></p>
<p style="margin-bottom: 0cm; line-height: 100%">What is SLP </p>
<p style="margin-bottom: 0cm; line-height: 100%">=======</p>
<p style="margin-bottom: 0cm; line-height: 100%">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.</p>
<p style="margin-bottom: 0cm; line-height: 100%">openSLP is widely
accepted in the industry</p>
<p style="margin-bottom: 0cm; line-height: 100%">What do we need to
do? </p>
<p style="margin-bottom: 0cm; line-height: 100%">==============</p>
<p style="margin-bottom: 0cm; line-height: 100%">1) Bring
SLP(OpenSLP) in image:- Write the bitbake recipe(didn't find the
readily available bitbake recipe)</p>
<p style="margin-bottom: 0cm; line-height: 100%">2) Configure the
services through Settings daemon.</p>
<p style="margin-bottom: 0cm; line-height: 100%">3) Write the
.service file as it needs to start after network is up(after
networkd-online.target)</p>
<p style="margin-bottom: 0cm; line-height: 100%">How to configure
the services which needs to be registered with slpd<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">============================================</p>
<p style="margin-bottom: 0cm; line-height: 100%"> Option 1:-
settingsd </p>
<p style="margin-bottom: 0cm; line-height: 100%"> Note: Gives the
flexibility to change the configured services @ runtime. Do we
require
this functionality?</p>
<p style="margin-bottom: 0cm; line-height: 100%"> Option 2:conf
file for discovery services </p>
<p style="margin-bottom: 0cm; line-height: 100%"> Note: During
build time we can get the service info(service-name,port) from the
existing infra(discoveryservice.bbclass)</p>
<p style="margin-bottom: 0cm; line-height: 100%">How to register the
services<br>
==================</p>
<p style="margin-bottom: 0cm; line-height: 100%">1) Static
Registration:- will not work as we need ip/host-name details which
we don't have @build time.</p>
<p style="margin-bottom: 0cm; line-height: 100%">2)
Application(new DBUS app) will register the configured services
to the slpd on startup. <br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">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.</p>
<p style="margin-bottom: 0cm; line-height: 100%"> </p>
<p style="margin-bottom: 0cm; line-height: 100%">Create a DBUS
service application </p>
<p style="margin-bottom: 0cm; line-height: 100%">=====================<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%">1) Once the service
starts it registers the configured services with slpd.<br>
</p>
<p style="margin-bottom: 0cm; line-height: 100%"> 2) listening
on RTNETLINK event for ip change: raise a dbus signal(for the IP
change)<br>
</p>
<br>
if there is IP change then dereg the old service followed by
reg service as the ip has changed.<br>
<br>
Regards<br>
Ratan Gupta<br>
<title></title>
<meta name="generator" content="LibreOffice 4.2.8.2 (Linux)">
<style type="text/css">
<!--
@page { margin: 2cm }
p { margin-bottom: 0.25cm; line-height: 120% }
-->
</style>
</body>
</html>