summaryrefslogtreecommitdiffstats
path: root/kernel/net/sched/Makefile
blob: 7ca7f4c1b8c210c9358252c61fc18fff12e3f5db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#
# Makefile for the Linux Traffic Control Unit.
#

obj-y	:= sch_generic.o sch_mq.o

obj-$(CONFIG_NET_SCHED)		+= sch_api.o sch_blackhole.o
obj-$(CONFIG_NET_CLS)		+= cls_api.o
obj-$(CONFIG_NET_CLS_ACT)	+= act_api.o
obj-$(CONFIG_NET_ACT_POLICE)	+= act_police.o
obj-$(CONFIG_NET_ACT_GACT)	+= act_gact.o
obj-$(CONFIG_NET_ACT_MIRRED)	+= act_mirred.o
obj-$(CONFIG_NET_ACT_IPT)	+= act_ipt.o
obj-$(CONFIG_NET_ACT_NAT)	+= act_nat.o
obj-$(CONFIG_NET_ACT_PEDIT)	+= act_pedit.o
obj-$(CONFIG_NET_ACT_SIMP)	+= act_simple.o
obj-$(CONFIG_NET_ACT_SKBEDIT)	+= act_skbedit.o
obj-$(CONFIG_NET_ACT_CSUM)	+= act_csum.o
obj-$(CONFIG_NET_ACT_VLAN)	+= act_vlan.o
obj-$(CONFIG_NET_ACT_BPF)	+= act_bpf.o
obj-$(CONFIG_NET_ACT_CONNMARK)	+= act_connmark.o
obj-$(CONFIG_NET_SCH_FIFO)	+= sch_fifo.o
obj-$(CONFIG_NET_SCH_CBQ)	+= sch_cbq.o
obj-$(CONFIG_NET_SCH_HTB)	+= sch_htb.o
obj-$(CONFIG_NET_SCH_HFSC)	+= sch_hfsc.o
obj-$(CONFIG_NET_SCH_RED)	+= sch_red.o
obj-$(CONFIG_NET_SCH_GRED)	+= sch_gred.o
obj-$(CONFIG_NET_SCH_INGRESS)	+= sch_ingress.o 
obj-$(CONFIG_NET_SCH_DSMARK)	+= sch_dsmark.o
obj-$(CONFIG_NET_SCH_SFB)	+= sch_sfb.o
obj-$(CONFIG_NET_SCH_SFQ)	+= sch_sfq.o
obj-$(CONFIG_NET_SCH_TBF)	+= sch_tbf.o
obj-$(CONFIG_NET_SCH_TEQL)	+= sch_teql.o
obj-$(CONFIG_NET_SCH_PRIO)	+= sch_prio.o
obj-$(CONFIG_NET_SCH_MULTIQ)	+= sch_multiq.o
obj-$(CONFIG_NET_SCH_ATM)	+= sch_atm.o
obj-$(CONFIG_NET_SCH_NETEM)	+= sch_netem.o
obj-$(CONFIG_NET_SCH_DRR)	+= sch_drr.o
obj-$(CONFIG_NET_SCH_PLUG)	+= sch_plug.o
obj-$(CONFIG_NET_SCH_MQPRIO)	+= sch_mqprio.o
obj-$(CONFIG_NET_SCH_CHOKE)	+= sch_choke.o
obj-$(CONFIG_NET_SCH_QFQ)	+= sch_qfq.o
obj-$(CONFIG_NET_SCH_CODEL)	+= sch_codel.o
obj-$(CONFIG_NET_SCH_FQ_CODEL)	+= sch_fq_codel.o
obj-$(CONFIG_NET_SCH_FQ)	+= sch_fq.o
obj-$(CONFIG_NET_SCH_HHF)	+= sch_hhf.o
obj-$(CONFIG_NET_SCH_PIE)	+= sch_pie.o

obj-$(CONFIG_NET_CLS_U32)	+= cls_u32.o
obj-$(CONFIG_NET_CLS_ROUTE4)	+= cls_route.o
obj-$(CONFIG_NET_CLS_FW)	+= cls_fw.o
obj-$(CONFIG_NET_CLS_RSVP)	+= cls_rsvp.o
obj-$(CONFIG_NET_CLS_TCINDEX)	+= cls_tcindex.o
obj-$(CONFIG_NET_CLS_RSVP6)	+= cls_rsvp6.o
obj-$(CONFIG_NET_CLS_BASIC)	+= cls_basic.o
obj-$(CONFIG_NET_CLS_FLOW)	+= cls_flow.o
obj-$(CONFIG_NET_CLS_CGROUP)	+= cls_cgroup.o
obj-$(CONFIG_NET_CLS_BPF)	+= cls_bpf.o
obj-$(CONFIG_NET_EMATCH)	+= ematch.o
obj-$(CONFIG_NET_EMATCH_CMP)	+= em_cmp.o
obj-$(CONFIG_NET_EMATCH_NBYTE)	+= em_nbyte.o
obj-$(CONFIG_NET_EMATCH_U32)	+= em_u32.o
obj-$(CONFIG_NET_EMATCH_META)	+= em_meta.o
obj-$(CONFIG_NET_EMATCH_TEXT)	+= em_text.o
obj-$(CONFIG_NET_EMATCH_CANID)	+= em_canid.o
obj-$(CONFIG_NET_EMATCH_IPSET)	+= em_ipset.o
e.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
- project:
    name: apex
    jobs:
        - 'apex-verify-{stream}'
        - 'apex-merge-{stream}'
        - 'apex-daily-{stream}'

    # stream:    branch with - in place of / (eg. stable-arno)
    # branch:    branch (eg. stable/arno)
    stream:
        - master:
            branch: 'master'
            gs-pathname: ''
            flags: '-fM'
            disabled: false

    project: 'apex'

- job-template:
    name: 'apex-verify-{stream}'

    node: opnfv-jump-1

    project-type: freestyle

    logrotate:
        daysToKeep: 30
        numToKeep: 10
        artifactDaysToKeep: -1
        artifactNumToKeep: -1

    parameters:
        - apex-parameter:
            gs-pathname: '{gs-pathname}'
            flags: '{flags}'
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: '{branch}'
        - string:
            name: GIT_BASE
            default: ssh://gerrit.opnfv.org:29418/$PROJECT
            description: "Used for overriding the GIT URL coming from parameters macro."

    scm:
        - gerrit-trigger-scm:
            credentials-id: '{ssh-credentials}'
            refspec: '$GERRIT_REFSPEC'
            choosing-strategy: 'gerrit'

    wrappers:
        - ssh-agent-credentials:
            user: '{ssh-credentials}'

    triggers:
        - gerrit:
            trigger-on:
                - patchset-created-event:
                    exclude-drafts: 'false'
                    exclude-trivial-rebase: 'false'
                    exclude-no-code-change: 'false'
                - draft-published-event
                - comment-added-contains-event:
                    comment-contains-value: 'recheck'
                - comment-added-contains-event:
                    comment-contains-value: 'reverify'
            projects:
              - project-compare-type: 'ANT'
                project-pattern: 'apex'
                branches:
                  - branch-compare-type: 'ANT'
                    branch-pattern: '**/master'
                forbidden-file-paths:
                  - compare-type: ANT
                    pattern: 'docs/**'

    builders:
        - 'apex-build'
        - 'apex-deploy-virtual'
        - 'apex-workspace-cleanup'

- job-template:
    name: 'apex-merge-{stream}'

    # builder-merge job to run JJB update
    #
    # This job's purpose is to update all the JJB

    node: opnfv-jump-1

    project-type: freestyle

    logrotate:
        daysToKeep: 30
        numToKeep: 40
        artifactDaysToKeep: -1
        artifactNumToKeep: 5

    parameters:
        - apex-parameter:
            gs-pathname: '{gs-pathname}'
            flags: '{flags}'
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: '{branch}'
        - string:
            name: GIT_BASE
            default: ssh://gerrit.opnfv.org:29418/$PROJECT
            description: "Used for overriding the GIT URL coming from parameters macro."

    scm:
        - gerrit-trigger-scm:
            credentials-id: '{ssh-credentials}'
            refspec: ''
            choosing-strategy: 'default'

    wrappers:
        - ssh-agent-credentials:
            user: '{ssh-credentials}'

    triggers:
        - gerrit:
            trigger-on:
                - change-merged-event
                - comment-added-contains-event:
                    comment-contains-value: 'remerge'
            projects:
              - project-compare-type: 'ANT'
                project-pattern: 'apex'
                branches:
                    - branch-compare-type: 'ANT'
                      branch-pattern: '**/master'
                forbidden-file-paths:
                  - compare-type: ANT
                    pattern: 'docs/**'

    builders:
        - 'apex-build'
        - 'apex-deploy-virtual'
        - 'apex-workspace-cleanup'

- job-template:
    name: 'apex-daily-{stream}'

    # Job template for daily builders
    #
    # Required Variables:
    #     stream:    branch with - in place of / (eg. stable)
    #     branch:    branch (eg. stable)
    node: opnfv-jump-1

    disabled: false

    project-type: freestyle

    logrotate:
        daysToKeep: '{build-days-to-keep}'
        numToKeep: '{build-num-to-keep}'
        artifactDaysToKeep: '{build-artifact-days-to-keep}'
        artifactNumToKeep: '{build-artifact-num-to-keep}'

    parameters:
        - project-parameter:
            project: '{project}'
        - apex-parameter:
            gs-pathname: '{gs-pathname}'
            flags: '{flags}'
        - gerrit-parameter:
            branch: '{branch}'
        - string:
            name: GIT_BASE
            default: ssh://gerrit.opnfv.org:29418/$PROJECT
            description: "Used for overriding the GIT URL coming from parameters macro."

    scm:
        - git-scm:
            credentials-id: '{ssh-credentials}'
            refspec: ''
            branch: '{branch}'

    wrappers:
        - ssh-agent-credentials:
            user: '{ssh-credentials}'

    triggers:
        - 'apex-{stream}'

    builders:
        - 'apex-build'
        - 'apex-upload-artifact'
        - 'apex-deploy-virtual'
        - 'apex-workspace-cleanup'

########################
# parameter macros
########################
- parameter:
    name: apex-parameter
    parameters:
        - string:
            name: BUILD_DIRECTORY
            default: $WORKSPACE/build_output
            description: "Directory where the build artifact will be located upon the completion of the build."
        - string:
            name: CACHE_DIRECTORY
            default: $HOME/opnfv/cache/{gs-pathname}
            description: "Directory where the cache to be used during the build is located."
        - string:
            name: GIT_BASE
            default: https://gerrit.opnfv.org/gerrit/$PROJECT
            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
        - string:
            name: GS_URL
            default: artifacts.opnfv.org/$PROJECT/{gs-pathname}
            description: "URL to Google Storage."
        - string:
            name: FLAGS
            default: '{flags}'
            description: "Build Flags"

########################
# builder macros
########################
- builder:
    name: 'apex-build'
    builders:
        - shell: |
            #!/bin/bash
            set -o errexit
            set -o nounset
            set -o pipefail
            # log info to console
            echo "Starting the build of Apex using OpenStack Master packages. This will take some time..."
            echo "---------------------------------------------------------------------------------------"
            echo "Build flags for this build are ${FLAGS}"
            echo "---------------------------------------------------------------------------------------"
            echo
            # create the cache directory if it doesn't exist
            [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
            # set OPNFV_ARTIFACT_VERSION
            export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
            # start the build
            cd $WORKSPACE/ci
            ./build.sh $FLAGS -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
            RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../build/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
            # list the contents of BUILD_OUTPUT directory
            ls -al $BUILD_DIRECTORY
            # save information regarding artifact into file
            (
                echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
                echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
                echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
                echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
                echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
                echo "OPNFV_SRPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.src.rpm"
                echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.noarch.rpm"
                echo "OPNFV_RPM_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
                echo "OPNFV_BUILD_URL=$BUILD_URL"
            ) > $WORKSPACE/opnfv.properties
            echo
            echo "--------------------------------------------------------"

- builder:
    name: 'apex-workspace-cleanup'
    builders:
        - shell: |
            #!/bin/bash
            set -o errexit
            set -o nounset
            set -o pipefail

            # delete everything that is in $WORKSPACE
            /bin/rm -rf $WORKSPACE

- builder:
    name: 'apex-upload-artifact'
    builders:
        - shell: |
            #!/bin/bash
            set -o errexit
            set -o nounset
            set -o pipefail

            # log info to console
            echo "Uploading the Apex artifact. This could take some time..."
            echo "--------------------------------------------------------"
            echo

            # source the opnfv.properties to get ARTIFACT_VERSION
            source $WORKSPACE/opnfv.properties

            # upload artifact and additional files to google storage
            gsutil cp $BUILD_DIRECTORY/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
            gsutil cp $BUILD_DIRECTORY/$(basename $OPNFV_RPM_URL) gs://$GS_URL/$(basename $OPNFV_RPM_URL) > gsutil.iso.log 2>&1
            gsutil cp $BUILD_DIRECTORY/$(basename $OPNFV_SRPM_URL) gs://$GS_URL/$(basename $OPNFV_SRPM_URL) > gsutil.iso.log 2>&1
            gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
            gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1

            echo
            echo "--------------------------------------------------------"
            echo "Done!"
            echo "ISO Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
            echo "RPM Artifact is available as http://$GS_URL/$(basename $OPNFV_RPM_URL)"

- builder:
    name: 'apex-deploy-virtual'
    builders:
        - shell: |
            #!/bin/bash
            set -o errexit
            set -o nounset
            set -o pipefail

            # log info to console
            echo "Starting the Apex virtual deployment."
            echo "--------------------------------------------------------"
            echo

            # check if we got the file
            if [[ -f opnfv.properties ]]; then
                # source the file so we get OPNFV vars
                source opnfv.properties
                RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
            else
                # get the latest.properties file in order to get info regarding latest artifact
                curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties
                [[ -f opnfv.properties ]] || exit 1

                # source the file so we get OPNFV vars
                source opnfv.properties
                RPM_INSTALL_PATH=$RPM_URL
            fi

            # update / install the new rpm
            if rpm -q opnfv-apex > /dev/null; then
               if sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then
                   sudo yum downgrade -y $RPM_INSTALL_PATH;
               fi
            else
               sudo yum install -y $RPM_INSTALL_PATH;
            fi

            # cleanup virtual machines before we start
            sudo opnfv-clean
            # initiate virtual deployment
            sudo opnfv-deploy -v

            echo
            echo "--------------------------------------------------------"
            echo "Done!"

#######################
# trigger macros
########################
- trigger:
    name: 'apex-master'
    triggers:
        - timed: '0 3 * * *'