Skip to content

XJTU-NetVerify/s2-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This project is used to synthesize benchmarks (large fattree topologies configured with bgp/ospf with shortest-path or valley-free routing policy) for S2 (ACM SIGCOMM 2025). It builds on the ACORN benchmark with some debugging and adjustment.

OSPF fattrees

For OSPF fattrees, there's no difference between shortest-path and valley-free.

In the following, we use x to represent the id of each router (i.e., the number after '-' in the router name. For example, the id of core-0 is 0).

Edge routers

For each edge router:

Interfaces

  1. One Loopback interface (70.0.x.0/32).
  2. Several Serial interfaces (10.0.x.?) to connect to aggregation routers.
  3. Several Ethernet interfaces (70.0.x.?) towards hosts.

Static routes

One static route against 70.0.x.0/24.

OSPF

Passive interfaces: Loopback and Ethernet interfaces.

Network: 10.0.0.0/8

Redistribute: static routes

Aggregation routers

For each aggregation router:

Interfaces

  1. One Loopback interface (70.0.x.0/32).
  2. Several Serial interfaces (10.0.x.?) to connect to edge, core and other aggregation routers.

OSPF

Passive interfaces: Loopback interface.

Network: 10.0.0.0/8

Core routers

For each core router:

Interfaces

  1. One Loopback interface (70.0.x.0/32).
  2. Several Serial interfaces (10.0.x.?) to connect to aggregation routers.

OSPF

Passive interfaces: Loopback interface.

Network: 10.0.0.0/8

BGP fattrees

For BGP fattrees, the interface configurations of each router is the same with OSPF fattrees. However, shortest-path fattrees and valley-free fattrees differ in BGP configurations.

Shortest path

  1. The AS Number of each router equals its id.
  2. bgp bestpath as-path multipath-relax.
  3. send-community enabled for every neighbor.
  4. Each edge router networks a /24 subnet (i.e., 70.0.x.0/24).

Valley free

Besides basic BGP configurations as in shortest-path, there are route-maps on edge and aggregation routers.

Route-map on edge routers

Route-map towards aggregation routers:

If the router is the destination:

router bgp xxx
	neighbor 10.0.x.x remote-as x
	neighbor 10.0.x.x send-community
	neighbor 10.0.x.x route-map init_dest out
!
route-map init_dest permit 10
	set community 650:100

else:

router bgp xxx
	neighbor 10.0.x.x remote-as x
	neighbor 10.0.x.x send-community
	neighbor 10.0.x.x route-map filter_comm1 out
!
ip community-list 1 permit 650:100
!
route-map filter_comm1 permit 10
	match community 1
	set community 650:100

Route-map on aggregation routers

Route-map towards edge routers:

router bgp xxx
	neighbor 10.0.x.x remote-as x
	neighbor 10.0.x.x send-community
	neighbor 10.0.x.x route-map set_communities out
!
ip community-list 1 permit 650:100
ip community-list 2 permit 650:200
!
route-map set_communities permit 10
	match community 1
	set community 650:200
route-map set_communities permit 20
	match community 2
	set community 650:300
route-map set_communities permit 30
	set community 650:400

Route-map towards core routers:

router bgp xxx
	neighbor 10.0.x.x remote-as x
	neighbor 10.0.x.x send-community
	neighbor 10.0.x.x route-map filter_comm out
!
ip community-list 1 permit 650:100
ip community-list 2 permit 650:200
!
route-map filter_comm permit 10
	match community 1
	set community 650:200

In general, only one BGP route generated by the destination edge router is propagated through the fattree topology, and it traverses no valley paths (e.g., edge6 -> aggregation4 -> edge7 -> aggregation5 -> core0 -> ...) because of the route-maps.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages