[PATCH] s4: initial code for the topology algorithm

Crístian Viana cristiandeives at gmail.com
Tue Feb 23 21:29:47 MST 2010


Hi Tridge,

I rebased your two commits into one so we don't end up with a kcc_topology.h
> deleted in git, and I've pushed this initial implementation to master.


Thanks! So maybe I should use git commit --amend next time to avoid this
little problem, shouldn't I?

What we need now is a tool to test this, displaying the topology it will
> create.


I've been reading about this algorithm and I just realized it creates the
connections between the sites, not between the DCs, as I was thinking. I set
up an AD domain between Windows 2008 R2 only (no Samba DCs) and after some
ldbsearches, I see there was only one site object, one siteLink object and
no siteLinkBridge object. Those are the three main object classes this
algorithm deals with. So I think the resulting graph we saw during our last
meeting was right, with only one vertex and one edge, even after several net
vampires we performed. So in order to implement the tests, I was wondering
how I can mock up new sites to test against the algorithm. It's working now
with the domain I have, but that's not an automated test and it tests only
one scenario. I need to have more sites other than
"Default-First-Site-Name". Am I going in the right way?

Cheers,
Crístian.

On Mon, Feb 15, 2010 at 9:17 AM, <tridge at samba.org> wrote:

> Hi Crístian,
>
> Thanks for your nice kcc_topology.c code! I rebased your two commits
> into one so we don't end up with a kcc_topology.h deleted in git, and
> I've pushed this initial implementation to master.
>
> What we need now is a tool to test this, displaying the topology it
> will create. Then once we think it is working well we can link it into
> kcc_connection.c and start to create the correct connections.
>
> To help with this, I think we need one more function in
> kcc_topology.c, something like this:
>
> NTSTATUS kcctpl_calculate_connections(struct kccsrv_service *s,
>                                      struct kcc_connection **connections,
>                                      uint32_t *count);
>
> it would calculate the correct graph, then turn it into a connection
> list. The kcc_connection.c code would then call this function to work
> out what connections should be in place.
>
> First we need some way to test it though. You could either create a
> python interface and a python test suite, or you could create a C
> based test suite, which ever you prefer. The code is certainly complex
> enough to warrant a test suite I think, and I'd like to see what
> valgrind thinks of it :-)
>
> Cheers, Tridge
>



-- 
Crístian Deives dos Santos Viana [aka CD1]


More information about the samba-technical mailing list