From fcc2e6c829f1ddbfc745addf4ac4b7ca84ba72db Mon Sep 17 00:00:00 2001 From: Eugene Snider Date: Tue, 5 May 2015 11:31:12 -0700 Subject: Add l2 fwd kernel module This commit adds a simple kernel module for l2 forwarding or termination This module provides only level 2 forwarding between two ports, it does not do any NAT or Masquerade. Arguments are: net1=ethXXXX # set forwarding port 1 net2=ethXXX # set forwarding port 2 terminate=1 # terminate the connection and free the skb Changed to GPL licensing to avoid compilation issues Added sanity build target Fix whitespace issues JIRA: VSPERF-39 Change-Id: I0fa3e0135af06b7cba665a357dccfb9459edb9f6 Signed-off-by: Eugene Snider --- src/l2fwd/gen_debian_package.sh | 72 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 src/l2fwd/gen_debian_package.sh (limited to 'src/l2fwd/gen_debian_package.sh') diff --git a/src/l2fwd/gen_debian_package.sh b/src/l2fwd/gen_debian_package.sh new file mode 100755 index 00000000..88829ce6 --- /dev/null +++ b/src/l2fwd/gen_debian_package.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# Copyright 2015 Futurewei Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# A copy of the license is included with this distribution. If you did not +# recieve a copy you may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +which dpkg-architecture 2>&1 1>/dev/null +if [ $? -ne 0 ]; then + echo "Can't locate dpkg-architecture" + echo "try 'sudo apt-get install dpkg-dev" + exit 1 +fi +KERNEL_VERSION=${KERNEL_VERSION-`uname -r`} +PACKAGE_NAME=l2fwd +PACKAGE_ARCH=`dpkg-architecture -qDEB_BUILD_ARCH` +GIT_VERSION=`git ls-remote 2>/dev/null | awk '{print $2}' | sed 's/\// /g' | sort -n -k4| awk '/[0-9]+/{print $(NF-1)"-"$NF}' | tail -n -1` +PACKAGE_VERSION="1.0.$GIT_VERSION-${KERNEL_VERSION}" + +MODULE_NAME=l2fwd +PACKAGE_DEPENDS=linux-image-${KERNEL_VERSION} + +rm -rf ${PACKAGE_NAME}-${PACKAGE_VERSION} +mkdir -p ${PACKAGE_NAME}-${PACKAGE_VERSION}/DEBIAN +# put this in with pktgen +mkdir -p ${PACKAGE_NAME}-${PACKAGE_VERSION}/lib/modules/${KERNEL_VERSION}/kernel/net/core/ +cat >>${PACKAGE_NAME}-${PACKAGE_VERSION}/DEBIAN/control <>${PACKAGE_NAME}-${PACKAGE_VERSION}/DEBIAN/preinst <>${PACKAGE_NAME}-${PACKAGE_VERSION}/DEBIAN/postinst <>${PACKAGE_NAME}-${PACKAGE_VERSION}/DEBIAN/postrm <