Opendaylight (Li) L2switch Source Code Analysis (1)--the overall structure and overall pom.xml of the code

Source: Internet
Author: User
Opendaylight L2switch provides the functionality of L2 switch, which is explained by the source code below.

First, the overall structure of the source code
1.l2switch's source GitHub address is:
Https://github.com/opendaylight/l2switch.git

2.l2switch Architecture
Parent
The dependent modules and versions used to run L2switch are defined, and many of the following projects will inherit from the parent.

Packet Handler
Used to parse the packet into the controller and distribute it to different modules for processing.

Loop Remover
Used to delete loops in the network, similar to STP, but the actual code is only seen in the Mdsal datastore store
Network topology, and did not complete the removal of the loop, do not know whether it is not completed.

ARP Handler
Used to process ARP packet.

Address Tracker
Addresses for learning entities in the network (MAC and IP)

Host Tracker
Used to track the location of hosts in the network.

L2switch Main
Used to install flow on Swtich based on network traffic.

Distribution/karaf
The KARAF environment needed to construct the L2switch.

Features
Used to deploy L2switch to Karaf instances, containing a feature descriptor.

Artifacts
Used to generate the individual bundles above.

Second, the overall pom.xml
The Pom.xml in the L2switch folder, for the Pom.xml file, the more important part is:
......
<packaging>pom</packaging>
......
<modules>
<module>parent</module>
<module>packethandler</module>
<module>loopremover</module>
<module>arphandler</module>
<module>addresstracker</module>
<module>hosttracker</module>
<module>l2switch-main</module>
<module>distribution/karaf</module>
<module>features</module>
<module>artifacts</module>
</modules>
......
<packaging>pom</packaging> This parent project does not create a jar or a war like the previous project,
It's just a pom that references other MAVEN projects. Pom.xml the sub-modules of the project are listed in the lower section. These
The module is defined in the modules element, and each modules element corresponds to a subdirectory under a directory. Maven knows to go here.
Pom.xml files, and when the L2switch is built, it will include the Submodule
Projects that are built.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.