Ask is moving to Stack Overflow and! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode


How to modify L2switch code of the Beryllium release?

asked 2016-05-30 10:28:10 -0700

pepesvm gravatar image


I am trying to modify the L2switch code for the Beryllium release. To do it, I pulled this project and modified the code. I have changed the config file (58-l2switchmain.xml) with the followings variables:

<is-learning-only-mode>true</is-learning-only-mode> <is-install-dropall-flow>false</is-install-dropall-flow>

So it is supposed that when a new switch is registered it will not get the initial rules to send the controller the packets and also it not take rules in a reactive way. Then I rebuild the whole project (mvn clean install -DskipTests). But when I use a simple topology in Mininet I can see that flows are set and it is possible to do pings between all hosts.

Does anyone know why this occurs and how can I disable these features?

Thanks in advance! :D

edit retag flag offensive close merge delete


Hi , You modified L2switch and build it, thats ok fine. Are you launching the karaf of L2switch or ODL integration? If launching ODL-integration ,you have to build it also.

karthik330 ( 2016-05-31 03:45:04 -0700 )edit

@karthik330 I want to make changes to l2 switch code so that the first packet coming from user goes to controller(as of now it adds flow for all )and ten controller should add flow after authentication. How to make changes after installing l2 switch feature,plz help Thanks

ashutosh ( 2017-06-27 11:55:47 -0700 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2016-05-31 08:47:10 -0700

jamoluhrsen gravatar image

Here is the l2switch config guide if it helps.

but, I think your config is setting the dropall flow to false, so the flow to drop packets instead of punting to controller is not given to your switches.

another variable in your set is the ovs version. I think ovs 2.0 will punt all packets to controller by default, whereas newer versions (e.g. 2.4) will drop all packets by default.

karthik330 is correct with the workflow. If you are building l2switch locally, and still want to use the full distribution, you have to then build the integration/distribution project which will use your l2switch changes that were built locally. But, if all you are doing is changing the config file, you don't need to build anything. you can

  • start the controller and install your l2switch feature(s). this will create the config files.
  • stop the controller
  • modify the config files, and restart.
edit flag offensive delete publish link more

answered 2016-06-01 08:12:50 -0700

sujata_roy gravatar image

Hello, I am recently working with lithium release.So I checked out the lithium/stable version and have compiled the source code. The controller starts sucessfully but it does not open the ports 6633 and 6653. As far as know, I need to install the features-> feature:install odl-restconf odl-mdsal-apidocs l2-learning-switch and may be VTN manager. But for me there is not feature for l2 switch or VTN not even Openflow. How do I get those features? Help much appreciated !

Thanks, Sujata

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-05-30 10:28:10 -0700

Seen: 376 times

Last updated: Jun 01 '16