Unable to set up ipv6

I installed routeros 7.6 chr on a vps. Before the installation, the operating system was centos 7.6 and ipv6 did work.I wrote down the network configifuation including ipv4/6 address,subnet mask,gateway and reinstalled to routeros. The network configuation in routeros is exactly the same as centos,but ipv6 doesn’t work,the default route is always invalid. I opened a ticket to the vps provider and they have no idea neither. Could you guys help me to figure it out? Thx
centos config:
#ip addr
ipv6 address: 2402:a7c0:xxxx:yyyy::5b2:zzzz
#ip -6 route show
2402:a7c0:xxxx:yyyy::1 dev eth0 proto static metric 100 pref medium
2402:a7c0:xxxx:yyyy::5b2:0/112 dev eth0 proto kernel metric 100 pref medium
fe80::/64 dev eth0 proto kernel metric 100 pref medium
default via 2402:a7c0:xxxx:yyyy::1 dev eth0 proto static metric 100 pref medium

routeros config:
ipv6 address:2402:a7c0:xxxx:yyyy::5b2:zzzz
/ipv6 route print detail
Flags: D - dynamic; X - disabled, I - inactive, A - active;
c - connect, s - static, r - rip, b - bgp, o - ospf, d - dhcp, v - vpn, m - modem, y - copy; H - hw-offloaded; + - ecmp
0 IsH dst-address=::/0 routing-table=main gateway=2402:a7c0:xxxx:yyyy::1 immediate-gw=ether1 distance=2 scope=30 target-scope=10
1 As dst-address=2402:a7c0:xxxx:yyyy::1/128 routing-table=main gateway=ether1 immediate-gw=ether1 distance=1 scope=30 target-scope=10
DAc dst-address=2402:a7c0:xxxx:yyyy::5b2:0/112 routing-table=main gateway=ether1 immediate-gw=ether1 distance=0 scope=10
DAc dst-address=fe80::%ether1/64 routing-table=main gateway=ether1 immediate-gw=ether1 distance=0 scope=10

> /ipv6/settings/print 
                  disable-ipv6: ??

/ipv6/settings/print :
disable-ipv6: no
forward: yes
accept-redirects: yes-if-forwarding-disabled
accept-router-advertisements: yes-if-forwarding-disabled
max-neighbor-entries: 8192

That’s not it, then. Does you address have any mask? Gateway needs to be within same subnet.

Edit: Or when it isn’t and you have route to gateway address via ether1 as you do, you may want to play with scope and target scope. I never really tested this with IPv6, but it might do the trick.

That is the point I am confused about. My address is in 112 bits subnet. The given gateway address is not in the subnet. As far as I know,the gateway should be a local link address.But the provider insisted on that their address was right and refused to give me the gateway local link address. Their configuation did work on centos indeed. So I have no idea how to fix the problem.

Change your subnet from /112 to /96 so your gateway address is in the subnet as well…
This may make some addresses unreachable, but likely not one that you care about.

Or what I wrote about scopes (I’m still somehow bad with them, but quick test works here):

/ipv6 route
add dst-address=2402:a7c0:xxxx:yyyy::1/128 gateway=ether1 scope=20 target-scope=10
add dst-address=::/0 gateway=2402:a7c0:xxxx:yyyy::1 scope=30 target-scope=20

But I think that what provides does is not exactly right.

One thing is the IPv6 address you ISP gives to you as WAN address, other thing is the IPv6 they give you to your LAN network, this one is usually a /56 network.

Link local addresses are setup dynamically via ND protocol. If Router advertisements are enable in your ISP router, you should get default route as well.

Will help if you post your addresses with mask, omitting first 8 hexa digits for privacy purposes.