This is the first edition of my answer to the question below
http://superuser.com/questions/1069956/all-outgoing-tcp-packets-have-source-ip-address-0-0-0-0
It's all about Avahi daemon, Link-Local, scope link, etc. It's possible to solve this problem.
You have to make scope global
on the host's IP address and make right routing table.
Below is my story.
We have such a local subnet (169.254.0.0/16
) too. Nobody had known that it's wrong when it was built.
So it works, and Windows hosts go through a router (a Linux machine with Fedora 12 and IP 169.254.0.34
)