Index: source/ariba/overlay/modules/OverlayFactory.cpp
===================================================================
--- source/ariba/overlay/modules/OverlayFactory.cpp	(revision 3713)
+++ source/ariba/overlay/modules/OverlayFactory.cpp	(revision 3718)
@@ -53,12 +53,10 @@
 
 	switch( param.getOverlayStructure() ){
-		case OverlayParameterSet::OverlayStructureOneHop:
-			return new OneHop( baseoverlay, nodeid, routeReceiver );
 
 		case OverlayParameterSet::OverlayStructureChord:
-			return new Chord( baseoverlay, nodeid, routeReceiver );
+			return new Chord( baseoverlay, nodeid, routeReceiver, param );
 
-		case OverlayParameterSet::OverlayStructureKademlia:
-			return NULL;
+		case OverlayParameterSet::OverlayStructureOneHop:
+			return new OneHop( baseoverlay, nodeid, routeReceiver, param );
 
 		default:
Index: source/ariba/overlay/modules/OverlayInterface.cpp
===================================================================
--- source/ariba/overlay/modules/OverlayInterface.cpp	(revision 3713)
+++ source/ariba/overlay/modules/OverlayInterface.cpp	(revision 3718)
@@ -46,7 +46,8 @@
 ServiceID OverlayInterface::OVERLAY_SERVICE_ID(0);
 
-OverlayInterface::OverlayInterface(BaseOverlay& _baseoverlay,
-		const NodeID& _nodeid, OverlayStructureEvents* _eventsReceiver) :
-	baseoverlay(_baseoverlay), nodeid(_nodeid), eventsReceiver(_eventsReceiver) {
+OverlayInterface::OverlayInterface(BaseOverlay& _baseoverlay, const NodeID& _nodeid,
+			OverlayStructureEvents* _eventsReceiver, OverlayParameterSet _parameters) :
+	baseoverlay(_baseoverlay), nodeid(_nodeid),
+	eventsReceiver(_eventsReceiver), parameters(_parameters) {
 
 	_baseoverlay.bind(this, OVERLAY_SERVICE_ID);
@@ -82,3 +83,7 @@
 }
 
+const OverlayParameterSet& OverlayInterface::getParameters() const {
+	return parameters;
+}
+
 }} // namespace ariba, overlay
Index: source/ariba/overlay/modules/OverlayInterface.h
===================================================================
--- source/ariba/overlay/modules/OverlayInterface.h	(revision 3713)
+++ source/ariba/overlay/modules/OverlayInterface.h	(revision 3718)
@@ -45,4 +45,5 @@
 #include "ariba/utility/types/NodeID.h"
 #include "ariba/utility/types/ServiceID.h"
+#include "ariba/utility/types/OverlayParameterSet.h"
 
 using ariba::CommunicationListener;
@@ -51,4 +52,5 @@
 using ariba::utility::NodeID;
 using ariba::utility::ServiceID;
+using ariba::utility::OverlayParameterSet;
 
 namespace ariba {
@@ -75,5 +77,7 @@
 			BaseOverlay& _baseoverlay,
 			const NodeID& _nodeid,
-			OverlayStructureEvents* _eventsReceiver );
+			OverlayStructureEvents* _eventsReceiver,
+			OverlayParameterSet _parameters
+			);
 
 	/**
@@ -154,8 +158,14 @@
 			const LinkID& lnk = LinkID::UNSPECIFIED);
 
+
+	const OverlayParameterSet& getParameters() const;
+
 protected:
 
 	/// Reference to an active base overlay
 	BaseOverlay& baseoverlay;
+
+	/// The parameters of the overlay structure
+	OverlayParameterSet parameters;
 
 	/// The node identifier to use with this overlay
Index: source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- source/ariba/overlay/modules/chord/Chord.cpp	(revision 3713)
+++ source/ariba/overlay/modules/chord/Chord.cpp	(revision 3718)
@@ -53,6 +53,6 @@
 
 Chord::Chord(BaseOverlay& _baseoverlay, const NodeID& _nodeid,
-		OverlayStructureEvents* _eventsReceiver) :
-	OverlayInterface(_baseoverlay, _nodeid, _eventsReceiver) {
+		OverlayStructureEvents* _eventsReceiver, const OverlayParameterSet& param) :
+	OverlayInterface(_baseoverlay, _nodeid, _eventsReceiver, param) {
 
 	// create routing table
Index: source/ariba/overlay/modules/chord/Chord.h
===================================================================
--- source/ariba/overlay/modules/chord/Chord.h	(revision 3713)
+++ source/ariba/overlay/modules/chord/Chord.h	(revision 3718)
@@ -89,5 +89,5 @@
 public:
 	Chord(BaseOverlay& _baseoverlay, const NodeID& _nodeid,
-			OverlayStructureEvents* _eventsReceiver);
+			OverlayStructureEvents* _eventsReceiver, const OverlayParameterSet& param);
 	virtual ~Chord();
 
Index: source/ariba/overlay/modules/onehop/OneHop.cpp
===================================================================
--- source/ariba/overlay/modules/onehop/OneHop.cpp	(revision 3713)
+++ source/ariba/overlay/modules/onehop/OneHop.cpp	(revision 3718)
@@ -49,6 +49,7 @@
 use_logging_cpp( OneHop );
 
-OneHop::OneHop(BaseOverlay& _baseoverlay, const NodeID& _nodeid, OverlayStructureEvents* _eventsReceiver)
-	: 	OverlayInterface( _baseoverlay, _nodeid, _eventsReceiver ),
+OneHop::OneHop(BaseOverlay& _baseoverlay, const NodeID& _nodeid,
+		OverlayStructureEvents* _eventsReceiver, const OverlayParameterSet& param)
+	: 	OverlayInterface( _baseoverlay, _nodeid, _eventsReceiver, param ),
 		state		( OneHopStateInvalid ),
 		bootstrapLink	( LinkID::UNSPECIFIED ),
Index: source/ariba/overlay/modules/onehop/OneHop.h
===================================================================
--- source/ariba/overlay/modules/onehop/OneHop.h	(revision 3713)
+++ source/ariba/overlay/modules/onehop/OneHop.h	(revision 3718)
@@ -55,5 +55,5 @@
 public:
 	OneHop(BaseOverlay& _overlay, const NodeID& _nodeid,
-			OverlayStructureEvents* _eventsReceiver);
+			OverlayStructureEvents* _eventsReceiver, const OverlayParameterSet& param);
 
 	virtual ~OneHop();
