Pyretic is not installing the rules expected (and installing unexpected rule) for this policy. In particular, it's not installing the "h2 -> h1" rules:
from pyretic.lib.corelib import *
def main():
h1 = EthAddr('00:00:00:00:00:01')
h2 = EthAddr('00:00:00:00:00:02')
return (match(srcmac=h1,dstmac=h2) >> (match(switch=1) >> fwd(2)
+ (match(switch=2) >> fwd(2)))
+ (match(srcmac=h2,dstmac=h1) >> (match(switch=1) >> fwd(1)
+ (match(switch=2) >> fwd(1)))))
mininet> s1 dpctl dump-flows tcp:localhost:6634
stats_reply (xid=0x9961a7d7): flags=none type=1(flow)
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=59996, n_packets=5, n_bytes=390, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,actions=
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=59997, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,actions=
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=59998, n_packets=1, n_bytes=98, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,actions=output:2
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=59999, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,in_port=2,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,actions=IN_PORT
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=60000, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_type=0x88cc,nw_src=0.0.0.0,nw_dst=0.0.0.0,nw_tos=0x00,nw_proto=0,tp_src=0,tp_dst=0,actions=CONTROLLER:65535
cookie=0, duration_sec=14s, duration_nsec=376000000s, table_id=1, priority=0, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,actions=CONTROLLER:65535
mininet> s1 dpctl dump-flows tcp:localhost:6635
stats_reply (xid=0x9d200f23): flags=none type=1(flow)
cookie=0, duration_sec=50s, duration_nsec=668000000s, table_id=1, priority=59998, n_packets=5, n_bytes=390, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,actions=
cookie=0, duration_sec=50s, duration_nsec=668000000s, table_id=1, priority=59999, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:00:00:00:00:01,dl_dst=00:00:00:00:00:02,actions=
cookie=0, duration_sec=50s, duration_nsec=668000000s, table_id=1, priority=60000, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_type=0x88cc,nw_src=0.0.0.0,nw_dst=0.0.0.0,nw_tos=0x00,nw_proto=0,tp_src=0,tp_dst=0,actions=CONTROLLER:65535
cookie=0, duration_sec=50s, duration_nsec=668000000s, table_id=1, priority=0, n_packets=0, n_bytes=0, idle_timeout=0,hard_timeout=0,actions=CONTROLLER:65535