This won't work. Linux will consider both addresses as local to the host and will never respond to arp requests from any of those addresses.
According to this Linux defaults to the 'weak host' model (I don't know if Ubuntu changes this default). Although I don't know why this will matter because I'm sending packets destined for the IP of that specific interface (which should work in strong and weak models). I think I'll sift through the ARP processing code to see if there are points where it can drop a packet.
You might be able to change this by tuning arp_announce/arp_ignore - But I don't know if that changes the behaviour wrt responses to local addresses... See https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt for the meaning of these knobs.
I'm playing around with different combinations of anything even remotely connected to ARP and routing. Nothing's changed till now. Thanks for your time. -mandeep