You may want to share your configs...
Because if I do this on server side (Debian):
local <server ip>
port 1194
proto tcp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
server-ipv6 2001:db8:1234::/64
keepalive 10 120
persist-key
persist-tun
And this on client side (CHR 6.35rc33):
/interface ovpn-client
add certificate=<client.crt> connect-to=<server ip> mode=ethernet name=ovpn-out1 user=test
This is what server says about it:
Wed Mar 23 03:24:03 2016 TCP connection established with [AF_INET]<client ip>:39857
Wed Mar 23 03:24:04 2016 <client ip>:39857 [Test-Client] Peer Connection Initiated with [AF_INET]<client ip>:39857
Wed Mar 23 03:24:04 2016 Test-Client/<client ip>:39857 MULTI_sva: pool returned IPv4=10.8.0.2, IPv6=2001:db8:1234::1000
Wed Mar 23 03:24:04 2016 Test-Client/<client ip>:39857 send_push_reply(): safe_cap=940
Test from server:
# ping -c 1 10.8.0.2
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
64 bytes from 10.8.0.2: icmp_seq=1 ttl=64 time=1.73 ms
--- 10.8.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.738/1.738/1.738/0.000 ms
Hooray, working OpenVPN in ethernet mode. With IPv6 there's less joy, because RouterOS ignores IPv6 address provided by server-ipv6 option:
# ping6 -c 1 2001:db8:1234::1000
PING 2001:db8:1234::1000(2001:db8:1234::1000) 56 data bytes
From 2001:db8:1234::1 icmp_seq=1 Destination unreachable: Address unreachable
--- 2001:db8:1234::1000 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
But add it manually (or any other address from that subnet):
/ipv6 address add address=2001:db8:1234::1000 interface=ovpn-out1
And voila:
# ping6 -c 1 2001:db8:1234::1000
PING 2001:db8:1234::1000(2001:db8:1234::1000) 56 data bytes
64 bytes from 2001:db8:1234::1000: icmp_seq=1 ttl=64 time=5.45 ms
--- 2001:db8:1234::1000 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 5.457/5.457/5.457/0.000 ms
Take it as a quick demo showing that it's not completely broken and can work.