veth does not respond to other veth ping requests on same bridge

Solution 1:

The answer depends on what you try to achieve.

Main problem of this setup is that reply packet won't be sent over veth interface, because IP is assigned to the same host. When ARP reply packet tries to go out it should detect outgoing interface based on routing table. And routing tells that this address is assigned to same host therefore reply will come via lo interface. You can listen to tcpdump -ni lo to see replies and likely you would find unreacheables there.

You can either create virtual machines like LXC/docker or use other network namespaces. man veth(4) to know more about latter.

btw, net.ipv4.ip_forward have nothing with ethernet packets or bridging, this way you can tell the kernel to forward packet if kernel got it by itself, like for routing.