Emulab`s Current Support For IXPs
Download
Report
Transcript Emulab`s Current Support For IXPs
Emulab's Current Support For IXPs:
An example of support for non-PCs
1
IXPs
• May be a good model for handling motes and
other special hardware
• Intel's network processors
• StrongARM chip that runs Linux
• Hosted as a PCI card in a PC
• Serial line for control
– We attach it to the host PC
• Impoverished environment
– We do configuration from the outside
2
IXP Integration in Emulab
In two ways:
• Available to remote researchers
– Same ease of use and automatic setup of other
Emulab resources, now extended to the IXP
– Can be configured in an arbitrary network
topology with end-nodes and routers, to
experiment with and evaluate an IXP-based
application
• As transparent high capacity link-emulators
3
Challenges
• Issue: an IXP is not 1 computer, it’s several!
–
–
–
–
Host PC
StrongArm
Microengines
Microcode development box? Local or remote?
• Add a “sub-node” notion throughout Emulab
• Both IXP and its host are first-class entities
– PC can be implicitly allocated and associated to IXP
– User gets handles on both so can manipulate them,
e.g., load custom image
4
How Emulab Handles IXPs
• Hierarchical nodes
– IXP is a 'subnode' of its host
– Each can have its own links
– Each can be manipulated separately in NS file
– Mapper understands subnode relationshipts
• Bootstrap over the serial line
• Do configuration of Linux over the serial line
• Generate config for reference router app
5
Demo Topology
HOST PC
Control interface
link
SRC
link
DST
IXP1200 CARD
6
Features
• Routes, interface configuration generated by
Emulab
• Routable IP addresses assigned to the control
interface between the host and the IXP
• Project directories mounted on the card from
emulab file server, IXP SDK directory mounted
from the host
• Hosts, name server files mounted on the card.
7
More Features…
• Automatic booting and setup of the card
• Serial console, power controller access
• Support for a startup command on the IXP:
enables download of custom application to the
microengines. For example:
tb-start /proj/foo/myapp /proj/foo/config
• Support for Windows development environment
coming
8