X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=install.sh;h=2a47a1dd1ffe57cddb1e8473ef633ae6d8771cc9;hb=3e73d6020b9ff96340085e9c669b7d5cd0109e4b;hp=8106defcede58a12000699055160daf35c3e5856;hpb=109e2f9ca7608102bbb276296a2cf8389e22c5cb;p=flowspec-xdp diff --git a/install.sh b/install.sh index 8106def..2a47a1d 100755 --- a/install.sh +++ b/install.sh @@ -21,20 +21,18 @@ STATS_RULES="$(echo "$RULES" | ./genrules.py --8021q=drop-vlan --v6frag=ignore-p clang $CLANG_ARGS -g -std=c99 -pedantic -Wall -Wextra -Wno-pointer-arith -Wno-unused-variable -Wno-unused-function -O3 -emit-llvm -c xdp.c -o xdp.bc if [ "$2" != "" ]; then clang $4 -g -std=c99 -pedantic -Wall -Wextra -Wno-pointer-arith -O3 -emit-llvm -c "$2" -o wrapper.bc - llvm-link xdp.bc wrapper.bc | llc -O3 -march=bpf -filetype=obj -o xdp + llvm-link xdp.bc wrapper.bc | llc -O3 -march=bpf -mcpu=probe -filetype=obj -o xdp else - cat xdp.bc | llc -O3 -march=bpf -filetype=obj -o xdp + cat xdp.bc | llc -O3 -march=bpf -mcpu=probe -filetype=obj -o xdp fi echo "Before unload drop count was:" ./dropcount.sh || echo "Not loaded" -ip link set "$1" xdp off -ip link set "$1" xdpgeneric off # Note that sometimes the automated fallback does not work properly so we have to || generic here -ip link set "$1" xdpoffload obj xdp sec $XDP_SECTION || ( - echo "Failed to install in NIC, testing in driver..." && ip link set "$1" xdpdrv obj xdp sec $XDP_SECTION || ( - echo "Failed to install in driver, using generic..." && ip link set "$1" xdpgeneric obj xdp sec $XDP_SECTION +ip -force link set "$1" xdpoffload obj xdp sec $XDP_SECTION || ( + echo "Failed to install in NIC, testing in driver..." && ip -force link set "$1" xdpdrv obj xdp sec $XDP_SECTION || ( + echo "Failed to install in driver, using generic..." && ip -force link set "$1" xdpgeneric obj xdp sec $XDP_SECTION ) ) echo "$STATS_RULES" > installed-rules.txt