cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

with_addr.sh (1296B)


      1#!/bin/bash
      2# SPDX-License-Identifier: GPL-2.0
      3#
      4# add private ipv4 and ipv6 addresses to loopback
      5
      6readonly V6_INNER='100::a/128'
      7readonly V4_INNER='192.168.0.1/32'
      8
      9if getopts ":s" opt; then
     10  readonly SIT_DEV_NAME='sixtofourtest0'
     11  readonly V6_SIT='2::/64'
     12  readonly V4_SIT='172.17.0.1/32'
     13  shift
     14fi
     15
     16fail() {
     17  echo "error: $*" 1>&2
     18  exit 1
     19}
     20
     21setup() {
     22  ip -6 addr add "${V6_INNER}" dev lo || fail 'failed to setup v6 address'
     23  ip -4 addr add "${V4_INNER}" dev lo || fail 'failed to setup v4 address'
     24
     25  if [[ -n "${V6_SIT}" ]]; then
     26    ip link add "${SIT_DEV_NAME}" type sit remote any local any \
     27	    || fail 'failed to add sit'
     28    ip link set dev "${SIT_DEV_NAME}" up \
     29	    || fail 'failed to bring sit device up'
     30    ip -6 addr add "${V6_SIT}" dev "${SIT_DEV_NAME}" \
     31	    || fail 'failed to setup v6 SIT address'
     32    ip -4 addr add "${V4_SIT}" dev "${SIT_DEV_NAME}" \
     33	    || fail 'failed to setup v4 SIT address'
     34  fi
     35
     36  sleep 2	# avoid race causing bind to fail
     37}
     38
     39cleanup() {
     40  if [[ -n "${V6_SIT}" ]]; then
     41    ip -4 addr del "${V4_SIT}" dev "${SIT_DEV_NAME}"
     42    ip -6 addr del "${V6_SIT}" dev "${SIT_DEV_NAME}"
     43    ip link del "${SIT_DEV_NAME}"
     44  fi
     45
     46  ip -4 addr del "${V4_INNER}" dev lo
     47  ip -6 addr del "${V6_INNER}" dev lo
     48}
     49
     50trap cleanup EXIT
     51
     52setup
     53"$@"
     54exit "$?"