Skip to content

Commit 7f73d3c

Browse files
committed
Update README to reflect differences from ofsoftswitch13
1 parent 8d7ac69 commit 7f73d3c

File tree

1 file changed

+23
-96
lines changed

1 file changed

+23
-96
lines changed

README.md

+23-96
Original file line numberDiff line numberDiff line change
@@ -1,126 +1,53 @@
1-
# Beba
1+
# BEBA Software Switch
22

3+
This is an implementation of the BEBA Software Switch based on the [CPqD OpenFlow 1.3 softswitch][ofss13].
34

4-
This is an implementation of the Beba switch based on the OpenFlow 1.3 softswitch developed by CPdQ and available at https://github.com/CPqD/ofsoftswitch13. For any information about Beba please check the home page of the project at http://www.beba-project.eu/.
5+
[BEBA is a European H2020 project][beba] on SDN data plane programmability. Our goal is to devise a data plane abstraction and prototype implementations for future-proof network devices capable to be repurposed with middlebox-type functions well beyond static packet forwarding, with a focus on stateful processing and packet generation.
56

7+
A controller for this switch can be found at https://github.com/beba-eu/beba-ctrl
68

7-
# OpenFlow 1.3 Software Switch
9+
# Features in a nutshell
810

9-
This is an [OpenFlow 1.3][ofp13] compatible user-space software switch implementation. The code is based on the [Ericsson TrafficLab 1.1 softswitch
10-
implementation][ericssonsw11], with changes in the forwarding plane to support
11-
OpenFlow 1.3.
11+
The BEBA Switch is an OpenFlow 1.3 switch extended with support for:
12+
* Stateful packet forwarding based on the [OpenState API][openstate]
13+
* Packet generation based on the [InSP API][insp]
1214

13-
The following components are available in this package:
15+
Moreover, BEBA targets software accelleration. We improve the CPqD softswitch troughput while retaining the simplicity of the original CPqD code base.
16+
17+
# Getting Started
18+
19+
Similarly to the CPqD softswitch, the following components are available in this package:
1420
* `ofdatapath`: the switch implementation
1521
* `ofprotocol`: secure channel for connecting the switch to the controller
1622
* `oflib`: a library for converting to/from 1.3 wire format
1723
* `dpctl`: a tool for configuring the switch from the console
1824

19-
# Getting Started
20-
21-
These instructions have been tested on Ubuntu 12.04. Other distributions or versions may need different steps.
22-
23-
For Ubuntu 14.04, please check @castroflavio solution:
24-
[How to compile on Ubuntu 14.04][compileubuntu14]
25-
25+
For more information on how to use these components please refer to the [original CPqD's documentation][ofss13]
2626

2727
## Building
28-
Run the following commands in the `ofsoftswitch13` directory to build and install everything:
28+
29+
Run the following commands in the `beba-switch` directory to build and install everything:
2930

3031
$ ./boot.sh
3132
$ ./configure
3233
$ make
3334
$ sudo make install
3435

3536
## Running
36-
1. Start the datapath:
37-
38-
```
39-
$ sudo udatapath/ofdatapath --datapath-id=<dpid> --interfaces=<if-list> ptcp:<port>
40-
```
41-
42-
This will start the datapath, with the given datapath ID, using the interaces listed. It will open a passive TCP connection on the given port. For a complete list of options, use the `--help` argument.
43-
44-
2. Start the secure channel, which will connect the datapath to the controller:
45-
46-
```
47-
$ secchan/ofprotocol tcp:<switch-host>:<switch-port> tcp:<ctrl-host>:<ctrl-port>
48-
```
49-
50-
This will open TCP connections to both the switch and the controller, relaying OpenFlow protocol messages between them. For a complete list of options, use the `--help` argument.
51-
52-
## Configuring
53-
You can send requests to the switch using the `dpctl` utility.
54-
55-
* Check the flow statistics for table 0.
56-
57-
```
58-
$ utilities/dpctl tcp:<switch-host>:<switch-port> stats-flow table=0
59-
```
60-
61-
* Install a flow to match IPv6 packets with extension headers hop by hop and destination and coming from port 1.
62-
63-
```
64-
$ utilities/dpctl tcp:<switch-host>:<switch-port> flow-mod table=0,cmd=add in_port=1,eth_type=0x86dd,ext_hdr=hop+dest apply:output=2
65-
```
66-
67-
* Add a meter:
68-
69-
```
70-
$ utilities/dpctl tcp:<switch-host>:<switch-port> meter-mod cmd=add,meter=1 drop:rate=50
71-
```
72-
73-
* Send flow to meter table
74-
75-
```
76-
$ utilities/dpctl tcp:<switch-host>:<switch-port> flow-mod table=0,cmd=add in_port=1 meter:1
77-
```
78-
79-
For a complete list of commands and arguments, use the `--help` argument.
80-
81-
The `dpctl` utility has some limitations at the moment:
82-
* No support for OXM masks
83-
* No support for multipart messages
84-
* Some set_field action fields are not present
8537

38+
Please refer to the [original CPqD's softswitch README][ofss13-readme]
8639

8740
# Contribute
8841
Please submit your bug reports, fixes and suggestions as pull requests on
8942
GitHub, or by contacting us directly.
9043

9144
# License
92-
OpenFlow 1.3 Software Switch is released under the BSD license (BSD-like for
45+
BEBA Software Switch is released under the BSD license (BSD-like for
9346
code from the original Stanford switch).
9447

95-
# Acknowledgments
96-
97-
This project is supported by Ericsson Innovation Center in Brazil.
98-
Maintained by CPqD in technical collaboration with Ericsson Research.
99-
100-
**Contributions:**
101-
102-
Zoltán Lajos Kis, ofsoftswitch 1.1 implementation and guidance for OpenFlow spec related subjects.
103-
104-
Jean Tourrilhes, lots of critical memory bug fixes on table features.
105-
106-
Khai Nguyen Dinh and Thanh Le Dinh, contributions on meter features.
107-
108-
Rich Lane, added the right compiler linker.
109-
110-
yu-iwata, fixed flow deletion without matchin out_port.
111-
112-
Yuval Adler, bug fixes related to matching on vlan and ethertype.
113-
114-
Hiroyasu OHYAMA, correct URL of NetBee Library.
115-
116-
...
117-
118-
*"Your name here" -- please, let us*
119-
*know if we forgot to add your name to the list of contributors!*
120-
121-
# Contact
122-
E-mail: Eder Leao Fernandes (ederleaofernandes at gmail . com)
123-
124-
[ofp13]: https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.0.pdf
125-
[ericssonsw11]: https://github.com/TrafficLab/of11softswitch
48+
[beba]: http://www.beba-project.eu/
49+
[openstate]: http://openstate-sdn.org/pub/openstate-ccr.pdf
50+
[insp]: http://conferences.sigcomm.org/sosr/2016/papers/sosr_paper42.pdf
51+
[ofss13]: http://cpqd.github.io/ofsoftswitch13/
52+
[ofss13-readme]: https://github.com/CPqD/ofsoftswitch13/blob/master/README.md
12653
[compileubuntu14]: http://tocai.dia.uniroma3.it/compunet-wiki/index.php/Installing_and_setting_up_OpenFlow_tools

0 commit comments

Comments
 (0)