From 5008a779ccb979e1b7aa9ffa6238272f3471702b Mon Sep 17 00:00:00 2001 From: Marco Platania Date: Tue, 15 Aug 2017 16:58:44 -0400 Subject: Fix ARP issues in vLB and vPKTGEN - Retrieve vLB and vPKTGEN's MAC address in Heat template - Assign those MAC addresses to VPP tap interfaces Change-Id: Ib4e5d4981031328ca8dc54bd7e5b0031c7f41846 Issue-ID: UCA-34 Signed-off-by: Marco Platania --- vnfs/vLB/scripts/v_dns_install.sh | 4 ---- vnfs/vLB/scripts/v_lb_init.sh | 10 +--------- vnfs/vLB/scripts/v_lb_install.sh | 4 ---- vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh | 12 ++---------- vnfs/vLB/scripts/v_packetgen_install.sh | 8 ++++++++ 5 files changed, 11 insertions(+), 27 deletions(-) (limited to 'vnfs/vLB/scripts') diff --git a/vnfs/vLB/scripts/v_dns_install.sh b/vnfs/vLB/scripts/v_dns_install.sh index 19dc047e..84d7a017 100644 --- a/vnfs/vLB/scripts/v_dns_install.sh +++ b/vnfs/vLB/scripts/v_dns_install.sh @@ -42,9 +42,6 @@ then echo " address $IP" >> /etc/network/interfaces echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - - ifup eth1 - ifup eth2 fi # Download required dependencies @@ -54,7 +51,6 @@ apt-get install -y wget openjdk-8-jdk bind9 bind9utils bind9-doc apt-transport-h sleep 1 # Download vDNS demo code for DNS Server -mkdir /opt/config mkdir /opt/FDclient cd /opt diff --git a/vnfs/vLB/scripts/v_lb_init.sh b/vnfs/vLB/scripts/v_lb_init.sh index 3c816c8d..9223e043 100755 --- a/vnfs/vLB/scripts/v_lb_init.sh +++ b/vnfs/vLB/scripts/v_lb_init.sh @@ -39,17 +39,9 @@ FAKE_HWADDR1=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump FAKE_HWADDR2=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump -v -e '/1 ":%02X"') GW=$(route -n | grep "^0.0.0.0" | awk '{print $2}') PKTGEN_IPADDR=$(cat /opt/config/pktgen_ipaddr.txt) +PKTGEN_MAC=$(cat /opt/config/pktgen_mac.txt) VIP=$(cat /opt/config/vip.txt) -while [ $(ping -c 1 $PKTGEN_IPADDR | grep received | cut -d" " -f4) != 1 ]; -do - echo "Wait"; - sleep 1; -done - -sleep 3 -PKTGEN_MAC=$(arp -n | grep -w $PKTGEN_IPADDR | tr -s ' ' | cut -d' ' -f3) - ifconfig eth3 down ifconfig eth3 hw ether $FAKE_HWADDR1 ip addr flush dev eth3 diff --git a/vnfs/vLB/scripts/v_lb_install.sh b/vnfs/vLB/scripts/v_lb_install.sh index 9d4a0c9e..6c093c08 100644 --- a/vnfs/vLB/scripts/v_lb_install.sh +++ b/vnfs/vLB/scripts/v_lb_install.sh @@ -51,10 +51,6 @@ then echo " address $IP" >> /etc/network/interfaces echo " netmask $NETMASK" >> /etc/network/interfaces echo " mtu $MTU" >> /etc/network/interfaces - - ifup eth1 - ifup eth2 - ifup eth3 fi # Download required dependencies diff --git a/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh b/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh index 86f0b00f..c38d2baf 100644 --- a/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh +++ b/vnfs/vLB/scripts/v_packetgen_for_dns_demo_init.sh @@ -33,6 +33,7 @@ IPADDR1=$(ifconfig eth1 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d' HWADDR1=$(ifconfig eth1 | grep HWaddr | tr -s ' ' | cut -d' ' -f5) FAKE_HWADDR1=$(echo -n 00; dd bs=1 count=5 if=/dev/urandom 2>/dev/null | hexdump -v -e '/1 ":%02X"') VLB_IPADDR=$(cat /opt/config/vlb_ipaddr.txt) +VLB_MAC=$(cat /opt/config/vlb_mac.txt) GW=$(route -n | grep "^0.0.0.0" | awk '{print $2}') ifconfig eth1 down @@ -53,16 +54,7 @@ sleep 1 ifconfig br0 hw ether $HWADDR1 ifconfig br0 $IPADDR1 netmask $IPADDR1_MASK route add default gw $GW - -#Adding static arp entry for VPP so that it will be able to send packets to default GW -while [ $(ping -c 1 $VLB_IPADDR | grep received | cut -d" " -f4) != 1 ]; -do - echo "Wait"; - sleep 1; -done - -sleep 3 -VLB_MAC=$(arp -n | grep -w $VLB_IPADDR | tr -s ' ' | cut -d' ' -f3) +sleep 1 vppctl set ip arp tap-0 $VLB_IPADDR $VLB_MAC # Install packet streams diff --git a/vnfs/vLB/scripts/v_packetgen_install.sh b/vnfs/vLB/scripts/v_packetgen_install.sh index 50d4fce8..0f8014f7 100644 --- a/vnfs/vLB/scripts/v_packetgen_install.sh +++ b/vnfs/vLB/scripts/v_packetgen_install.sh @@ -6,6 +6,14 @@ DEMO_ARTIFACTS_VERSION=$(cat /opt/config/demo_artifacts_version.txt) INSTALL_SCRIPT_VERSION=$(cat /opt/config/install_script_version.txt) CLOUD_ENV=$(cat /opt/config/cloud_env.txt) +# Convert Network CIDR to Netmask +cdr2mask () { + # Number of args to shift, 255..255, first non-255 byte, zeroes + set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0 + [ $1 -gt 1 ] && shift $1 || shift + echo ${1-0}.${2-0}.${3-0}.${4-0} +} + # OpenStack network configuration if [[ $CLOUD_ENV == "openstack" ]] then -- cgit 1.2.3-korg