Could you please try following, written and tested with shown samples in GNU awk. This will handle multiple occurrence/values in file1.txt and fil2.txt too.
awk -F'=' '
BEGIN{ FS=OFS="=" }
FNR==NR{
arr[++count]=$0
next
}
/^ip/{
print $1 OFS arr[++count1]
next
}
1' file1.txt file2.txt
Explanation: Adding detailed explanation for above.
awk ' ##Starting awk program from here.
BEGIN{ FS=OFS="=" }
FNR==NR{ ##Checking condition FNR==NR which will be TRUE when file1.txt is being read.
arr[++count]=$0 ##Creating arr with index of increasing value of count and its value is current line.
next ##next will skip all further statements from here.
}
/^ip/{ ##Checking condition if line starts from ip then do following.
print $1 OFS arr[++count1] ##Printing current line and arr with index of increasing value of count1.
next ##next will skip all further statements from here.
}
1 ##1 will print all lines here.
' file1.txt file2.txt ##Mentioning Input_file names here.
sed '/ip/r File1.txt' File2.txt | sed '/^ip=/{N; s/\n//}'?