#!/bin/bash

# (modprobe -r virtio_net; modprobe virtio_net) 
# dodawanie/usuwanie adresów klasy C przebiega szybko/szybko

# dodawanie/usuwanie adresów klasy B przebiega szybko/bardzo wolno!!!


device=eth1

prefix=24
#prefix=16

ipmin=1
if [[ $prefix == 24 ]]
then
    network=10.10.10.
    ipmax=254
    if [[ $1 == add ]]
    then
	for (( ip=$ipmin; ip<=$ipmax; ip++ ))
	do
	    ip address add $network$ip/$prefix dev $device
	    echo "adding $network$ip/$prefix on device $device"
	done
	exit
    fi

    if [[ $1 == delete ]]
    then
	for (( ip=$ipmin; ip<=$ipmax; ip++ ))
	do
	    ip address delete $network$ip/$prefix dev $device
	    echo "deleting $network$ip/$prefix "
	done
	exit
    fi
fi
    
if [[ $prefix == 16 ]]
then
    network=10.10.
    ipmax=254
    if [[ $1 == add ]]
    then
	for (( snet=$ipmin; snet<=$ipmax; snet++ ))
	do
	    for (( ip=$ipmin; ip<=$ipmax; ip++ ))
	    do 
		ip address add ${network}${snet}.$ip/$prefix dev $device
		echo "adding $network$snet.$ip/$prefix on device $device"
	    done
	done
	exit
    fi

    if [[ $1 == delete ]]
    then
	for (( snet=$ipmin; snet<=$ipmax; snet++ ))
	do
	    for (( ip=$ipmin; ip<=$ipmax; ip++ ))
	    do
		ip address delete $network${snet}.$ip/$prefix dev $device
		echo "deleting $network$snet.$ip/$prefix on device $device"
	    done
	done
	exit
    fi



fi




if [[ $1 == status ]]
then
    ip address show dev eth1
    exit
fi

echo "Usage: $0 add|delete|status"


