Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[mininet-discuss] Significance of DPID

Murphy McCauley murphy.mccauley at gmail.com
Mon Apr 21 22:50:15 PDT 2014


This is really an OpenFlow question, and it's answered in the OpenFlow spec.  Sort of.

The short of it is that it's a unique identifier for a switch so that someone/something (e.g., an OpenFlow controller) can uniquely identify the switch.  It's 64 bits, so it's not an ethernet address, though the spec claims the lower 48 bits are *intended* to be the switch's ethernet address.  In my opinion, this statement has always been a bit confusing -- traditionally, a switch isn't an endpoint, so what addresses does a switch even really have?  The only answer that makes sense to me is that it's the ethernet address associated with the IP address used for the OpenFlow control channel.  But in implementations, this is not always the case because the OpenFlow control channel often may originate from one of several interfaces and it'll use whatever ethernet address goes with it.

In practice, its pretty arbitrary, and often user-configurable independent of any ethernet address.  My advice is to always just treat it as an opaque value which should be unique.  If a vendor happens to base it on some particular ethernet address, I'd treat that as an implementation detail for how they achieve uniqueness and not as there being any sort of real relationship between the two.

To give a different type of answer:  With Open vSwitch, it defaults to the ethernet address of the switch's "local" port with the top 16 bits zeroed (this ethernet address being generated at random when last I checked).  With Mininet, this generally gets overridden to match the number of the Mininet switch.

Hope that helps?

-- Murphy

On Apr 21, 2014, at 10:11 PM, Karthik Sharma <karthik.sharma at gmail.com> wrote:

> Hi,
> 
> When you are creating switches for mininet topology you pass the dpid as given below.
> 
> 
> 
>     info( '*** Add switches\n')
> 
> 
>     s1 = net.addSwitch('s1', cls=OVSKernelSwitch, dpid='0000000000000201')
> 
> 
>     s2 = net.addSwitch('s2', cls=OVSKernelSwitch, dpid='0000000000000202')
> 
> 
>     s3 = net.addSwitch('s3', cls=OVSKernelSwitch, dpid='0000000000000203')
> 
> 
>     s4 = net.addSwitch('s4', cls=OVSKernelSwitch, dpid='0000000000000204')
> 
> 
>     s5 = net.addSwitch('s5', cls=OVSKernelSwitch, dpid='0000000000000205')
> 
> 
>     s6 = net.addSwitch('s6', cls=OVSKernelSwitch, dpid='0000000000000206')
> 
> 
> 
> 
> 
> My question is 
> 
> 
> 
> 
> 
> What is dpid? How is it related to MAC addresses for each port of the Ethernet 
> 
> 
> switch.Suppose the switch has 12 ports (for e.g) each of the ports will have a 
> 
> 
> MAC address.(48 -bits long).How come a switch has a single data path identifier?
> 
> 
> How is related to MAC address?
> 
> 
> 
> Regards,
> Karthik.
> 
> 
> 
> 
> 
> 
> _______________________________________________
> mininet-discuss mailing list
> mininet-discuss at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/mininet-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/mininet-discuss/attachments/20140421/29b820f8/attachment.html>


More information about the mininet-discuss mailing list