Network Operations and Internet Security @ Princeton



Path Splicing is a new routing primitive that allows network paths to be constructed by combining multiple routing trees (“slices”) to each destination over a single network topology. Path splicing allows traffic to switch trees at any hop en route to the destination. End systems can change the path on which traffic is forwarded by changing a small number of additional bits in the packet header. We evaluate path splicing for intradomain routing using slices generated from perturbed link weights and find that splicing achieves reliability that approaches the best possible using a small number of slices, for only a small increase in latency and no adverse effects on traffic in the network. In the case of interdomain routing, where splicing derives multiple trees from edges in alternate backup routes, path splicing achieves near-optimal reliability and can provide significant benefits even when only a fraction of ASes deploy it. We also describe several other applications of path splicing, as well as various possible deployment paths.


  • Path Splicing 
    Murtaza Motiwala, Megan Elmore, Nick Feamster and Santosh Vempala
    Proc. ACM SIGCOMM, Seattle, WA. August 2008
  • Path Splicing: Reliable Connectivity with Rapid Recovery
    Murtaza Motiwala, Nick Feamster and Santosh Vempala
    Proc. ACM SIGCOMM Hotnets Workshop, Atlanta, GA. November 2007.
  • Better Interdomain Path Diversity with BGP Path Splicing
    Murtaza Motiwala, Nick Feamster and Santosh Vempala
    PRESTO Workshop, Princeton, NJ. May 2007 (Position Paper)

Selected Talks


  • Click version (runs on Emulab): This package includes software-based implementations of Path Splicing, Routing Deflections and ECMP++ in Click. There are two separate components: end-system and network. The package includes scripts which can be used to run a small topology on Emulab. (download)
  • NetFPGA version: This package includes hardware based Path Splicing implementation. There are two bitfiles which must be loaded before populating the tables and sending traffic through NetFPGA. The package includes a text file reg_tests.txt that describes different regression tests developed. There is a command line tool that can be used to select different forwarding tables and populate them. This implementation has only four Forwarding and ARP tables and is based on NetFPGA hardware implementation from NetFPGA Group. (download)


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s