[Dibbler] multiple Cisco relays to Dibbler server

Tomasz Mrugalski thomson at klub.com.pl
Fri Nov 27 14:13:06 CET 2009

On Fri, 27 Nov 2009 somebody known as Karl Auer wrote:

> I have what must be a really simple problem, but having read the docs (I
> think I read all the bits that apply) I'm still unsure.
> A bunch of Cisco router interfaces are set up to relay DHCPv6 to eth0 on
> the host running Dibbler. I'm trying to figure out how to configure the
> Dibbler server to handle the relayed requests. Unfortunately I am trying
> to figure it out without the Cisco routers :-) otherwise I would just
> try it out!
The idea is that DHCPv6 relays (Cisco routers) are expected to relay (i.e. 
encapsulate and forward) messages. They are also expected to attach 
interface-id option that identifies an interface that original message was 
received on. As you are using bunch of routers (let's say 2), each of the 
original links is a separate network segment. Your relays are expected to 
use different interface-ids for each segment they are relaying from. By 
the way, this could also be called segment-id or network-id, rather than 
interface-id, but RFC authors decided that interface-id is easier to 
implement and explain.

Your config below is correct, but you are not defining interface-id. That 
is ok, because you are using guess-mode. How does that work? It tells 
dibbler to ignore interface-id values and just use configuration for first 
relay defined in server.conf. Nothing fancy :)

Also, if you want to serve differnt configurations, depending on which 
relay was used, here's the config for that. Keep in mind that interface-id 
may be a single integer (4 bytes), a string or a hex sequence. I'm not 
sure which format is used by Cisco. Just make sure that it matches exactly 
with the values added by your relays.

# server.conf
iface relay1 {
  relay eth0
  interface-id "first-segment-relayed-by-cisco1"
  class {
    pool 2001:db8:0:1::/64
    pool 2001:db8:0:2::/64
    pool 2001:db8:0:3::/64
    pool 2001:db8:0:4::/64

iface relay2 {
  relay eth0
  interface-id "second-segment-relayed-by-cisco2"
  class {
     pool 2001:db8:feed:1::/64
     pool 2001:db8:feed:2::/64
     pool 2001:db8:feed:3::/64
     pool 2001:db8:feed:4::/64

Hope that helps.

More information about the Dibbler mailing list