Multiple Node & Edge features

I need help with DGL code to handle multiple node features, say h1 & h2 as node features with mailbox m1 & m2 respectively. Here the graph has single node type but mutiple node features.

You can try

def msg(edge):
    return {'m1': edge.src.data['h1'], 'm2': edge.src.data['h2']}