macsad | architecture Compiler System for Abstract Data plane

 by   intrig-unicamp C Version: v0.3 License: Apache-2.0

kandi X-RAY | macsad Summary

kandi X-RAY | macsad Summary

macsad is a C library. macsad has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

The Multi-Architecture Compiler System for Abstract Dataplanes (MACSAD) is a P4 compiler that uses ODP aiming to archive portability of dataplane applications without compromising the target performance. MACSAD integrates the ODP APIs with P4, defining a programmable dataplane across multiple targets in an unified compiler system. MACSAD has a designed compiler module that generates an Intermediate Representation (IR) for P4 applications. To run MACSAD, follow the steps below. We have tested on Ubuntu 16.04. Note: We suggest to install MACSAD using install.sh (inside scripts folder). This script cover all the necessary installation, running it allow the user to skip to section "Running MACSAD".
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              macsad has a low active ecosystem.
              It has 5 star(s) with 1 fork(s). There are 7 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 1 open issues and 11 have been closed. On average issues are closed in 157 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of macsad is v0.3

            kandi-Quality Quality

              macsad has no bugs reported.

            kandi-Security Security

              macsad has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              macsad is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              macsad releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of macsad
            Get all kandi verified functions for this library.

            macsad Key Features

            No Key Features are available at this moment for macsad.

            macsad Examples and Code Snippets

            MANUALLY BUILD/SEND PACKETS USING SCAPY (OPTIONAL)
            Cdot img1Lines of Code : 3dot img1License : Permissive (Apache-2.0)
            copy iconCopy
            $ scapy
            >>> pkt2 = Ether(dst='a2:5e:37:ac:a1:7f',src='fa:4f:e8:df:b1:5f')/IP(dst='192.168.0.2',src='192.168.0.1')
            >>> sendp(pkt2,iface="veth0",count=1);
              

            Community Discussions

            No Community Discussions are available at this moment for macsad.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install macsad

            MACSAD uses ODP for forwarding plane developement.
            Download ODP v1.19.0.2, compile and install it: apt-get install -y build-essential autoconf automake pkg-config libssl-dev libconfig-dev libtool wget https://github.com/Linaro/odp/archive/v1.19.0.2.tar.gz tar xzvf v1.19.0.2.tar.gz; rm v1.19.0.2.tar.gz mv odp-1.19.0.2/ odp/ cd odp ./bootstrap ./configure --disable-abi-compat --prefix=`pwd`/build make make install
            Set the library and pkg-config info for ODP (make sure you are at the root of the ODP build directory before running any of these commands): echo `pwd`/build/lib | sudo tee /etc/ld.so.conf.d/odp.conf ldconfig export PKG_CONFIG_PATH=`pwd`/build/lib/pkgconfig echo "export PKG_CONFIG_PATH=`pwd`/build/lib/pkgconfig" >> ~/.bashrc cd ..
            Clone the MACSAD project:.
            Clone the MACSAD project: apt install -y git git clone --recursive https://github.com/intrig-unicamp/macsad.git cd macsad
            MACSAD has added P4-hlir as a submodule. Download/update and then install it (along with its dependencies): apt-get install -y python-yaml graphviz python-setuptools cd p4-hlir python setup.py install --user For any issues with p4-hlir, please refer to its README.md file.
            Translate the P4 program to MACSAD: cd .. python src/transpiler.py examples/p4_src/l2_fwd.p4
            Install build dependencies, project dependencies and compile MACSAD: apt-get install -y autoconf build-essential pkg-config autoconf-archive libpcap-dev python-scapy ./autogen.sh ./configure make
            Set hugepages number and create interfaces for the test: sysctl -w vm.nr_hugepages=512 ./scripts/veth_create.sh

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/intrig-unicamp/macsad.git

          • CLI

            gh repo clone intrig-unicamp/macsad

          • sshUrl

            git@github.com:intrig-unicamp/macsad.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular C Libraries

            linux

            by torvalds

            scrcpy

            by Genymobile

            netdata

            by netdata

            redis

            by redis

            git

            by git

            Try Top Libraries by intrig-unicamp

            mininet-wifi

            by intrig-unicampPython

            BB-Gen

            by intrig-unicampPython

            p7

            by intrig-unicampPython

            NML-Neo4j

            by intrig-unicampJava

            gym

            by intrig-unicampPython