Giter Site home page Giter Site logo

indigo's Introduction

Floodlight OpenFlow Controller (OSS)

Attention!

As of August 2018, the Floodlight mailing list has moved to [email protected]! Archives and the new group home page can be found here. Please see Documentation and Support below for up-to-date support information.

Build Status

Build Status

What is Floodlight?

Floodlight is the leading open source OpenFlow controller. It is supported by a community of developers, including a number of engineers from Big Switch Networks.

What is OpenFlow?

OpenFlow is a open standard managed by Open Networking Foundation. It specifies a protocol by which a remote controller can modify the behavior of networking devices through a well-defined “forwarding instruction set”. Floodlight is designed to work with the growing number of switches, routers, virtual switches, and access points that support the OpenFlow standard.

Getting Started

The quickest way to use Floodlight is to start with our pre-built VM, which includes the controller, IDE, and everything you need to use Floodlight and/or start developing. You can also deploy and develop with Floodlight in your own environment.

If you are a developer and are looking for project ideas, please take a look at our current issues. They are a great way to get started developing with Floodlight and provide a concrete way in which to give back!

Documentation and Support

Ready to get started using Floodlight? The Floodlight wiki contains user and developer documentation, as well as helpful tutorials from beginner to advanced.

Do you have a question, comment, or a great idea you'd like to propose to the community? Please subscribe and send to our mailing list [email protected]. Archives and additional content can be found on the group homepage.

Contribution

Floodlight is supported by contributions from developers like yourself. If you found and fixed something that needed attention or have added a feature, please consider giving back by opening a pull request. We value each and every contribution, no matter how large or how small.

If you have found a bug or have a feature request, please send a note to [email protected] and open a issue to track it. If you are able to give back by addressing the issue yourself, please read the above and thank you! If you are unable to contribute a solution, following these simple steps will allow someone the opportunity to do so.

Interested in contributing but don't know where to start? Check out and consider addressing any of our current issues.

Authors and Contributors

Thank you to all who have contributed to Floodlight! Please reach out if we have missed you, so that you can be added to this growing list.

indigo's People

Contributors

3mp4y5 avatar amospaul-bsn avatar archerhungbsn avatar carlroth avatar dtalayco avatar ducwindow avatar harishraghavendra avatar harshsin avatar ihiroakikawai avatar irfan06 avatar jnealtowns avatar kenchiang avatar kiranmadhe avatar nick-bsn avatar rlane avatar samwhitlock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indigo's Issues

Implementations of dpa api

Hello,

I would implement dpa api, should I download the indigo_submodule_automerge branch? Cause I have noticed that in the master branch some APIs missed, like indigo_fwd_add_flow().
I have a Cisco Catalyst switch that does not support Open Flow, so I would use the Indigo agent and to communicate with the Switch I thought about using Telnet.

Scale performance of Indio OF Agent

Dear Indigo OF Team,

I am trying to add around 500K flow entries in latest Indigo agent with the help of RYU controller. Flow addition is becoming very slow after some time. Initially it is adding around 180 flow entries in one second but after some time it is adding only 10 or 12 entries in one second. This is show stopper issue for us.

So may I request you to please provide me scale numbers of latest Indigo code. I will really appreciate your help on this. I am also looking for some optimization possible in Indigo Agent.

Please let me know if you need any further information from my side.

Regards,

Rahul Bhardwaj

Adding a controller before adding any ports causes an assertion in LOCI

I’m having an issue with adding a controller before I’ve added any ports.

When doing this, I get some packets from the controller that eventually cause the next assertion (in the LOCI module):

Of_object.c:95

ASSERT(obj->track_info.magic == OF_OBJECT_TRACKING_MAGIC &&
"of_object double free?");

  1.   Adding a controller with no ports – works well.
    
  2.   Adding a ports, then adding a controller – works well.
    
  3.   Adding the controller, then immediately adding ports – results in a packet with an empty buffer & assertion.
    
  4.   Adding the controller, sleeping for a few more seconds, then adding ports – works well.
    

Backtrace:

Here is the log output:

Dec 11 05:14:52.299 ERROR: port: OF port not in use
Dec 11 05:14:52.299 ERROR: of_port_packet_emit() failed
Dec 11 05:14:52.299 ERROR: fwd: pkt_action_do() failed

ASSERT obj->track_info.magic == OF_OBJECT_TRACKING_MAGIC && "of_object double free?". /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//src//of_object.c:95

Here is the backtrace:

Program terminated with signal 11, Segmentation fault.
#0 0x1022fd88 in of_object_delete (obj=0x10514c00)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//src//of_object.c:94

94 /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//src//of_object.c: No such file or directory.
in /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//src//of_object.c
(gdb) bt
#0 0x1022fd88 in of_object_delete (obj=0x10514c00)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//src//of_object.c:94

#1 0x10061e90 in of_packet_out_delete (obj=0x10514c00)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/loci//inc/loci/loci.h:6286

#2 0x10061e50 in ind_core_packet_out_handler (_obj=0x10514c00, cxn_id=0)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFStateManager//module/src//handlers.c:170

#3 0x10067e44 in indigo_core_receive_controller_message (cxn=0,

obj=0x10514c00)
at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFStateManager//module/src//ofstatemanager.c:200

#4 0x10056860 in of_msg_process (cxn=0x102d1848, obj=0x10514c00)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFConnectionManager//module/src//cxn_instance.c:706

#5 0x10057540 in process_message (cxn=0x102d1848)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFConnectionManager//module/src//cxn_instance.c:963

#6 0x10056bd0 in ind_cxn_process_read_buffer (cxn=0x102d1848)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFConnectionManager//module/src//cxn_instance.c:982

#7 0x10052114 in indigo_cxn_socket_ready_callback (socket_id=9,

---Type to continue, or q to quit---
cookie=0x102d1848, read_ready=1, write_ready=0, error_seen=0)
at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/OFConnectionManager//module/src//ofconnectionmanager.c:267
#8 0x10051a90 in ind_soc_select_and_run (run_for_ms=100)

at /.autodirect/mtrsysgwork/shaig/sdk7/indigo/Modules/Indigo/SocketManager//module/src//socketmanager.c:589

#9 0x10047898 in main (argc=3, argv=0xbfc89da4) at main.c:650

OF object tracking is not thread safe

In general, loci code is thread safe so long as you use normal mechanisms for controlling references to specific objects. However, the debug object tracking code is not thread safe currently. If you create or destroy of objects in different threads, you are at risk of memory corruption. The easiest work around is to not enable it by ensuring that OF_OBJECT_TRACKING is not defined in your build.

how to build the indigo module?

If I have finished main function to initialize modules of indigo, I want to know how I can build all of the project.... Can someone give me some advice ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.