How to modify the destination mac of the skb packet in kernel?

Hi,
I want to change the destination mac of all packets forwarded by br-lan to a specified mac, just like that:

Before:
 eth_hdr(skb)->h_dest=A 
After:
  eth_hdr(skb)->h_dest=B

it requires mmodifying the destination mac in skb.

Is there a way to change the destination mac of the skb packet in kernel?

ebtables s/dnat ?