anchor.diff:      data_in_ff.deq;
     endrule
   
  +  (* mutually_exclusive="rl_parse_ethernet_parse_arp, \
  +                         rl_parse_ethernet_parse_ipv4, \
  +                         rl_parse_ethernet_parse_ipv6, \
  +                         rl_parse_ethernet_start, \
  +                         rl_parse_arp_start, \
  +                         rl_parse_paxos_start, \
  +                         rl_parse_ipv4_parse_udp, \
  +                         rl_parse_ipv4_start, \
  +                         rl_parse_ipv6_start, \
  +                         rl_parse_udp_parse_paxos, \
  +                         rl_parse_udp_parse_paxos, \
  +                         rl_parse_udp_start" *)
     rule rl_start_parse_ethernet if ((w_start_parse_ethernet));
       parse_state_ff.enq(StateParseEthernet);
       dbg3($format("%s -> %s", "start", "parse_ethernet"));
  
positive.code:     parse_state_ff.deq;
    endrule
  
    (* mutually_exclusive="rl_parse_arp_start" *)
    rule rl_parse_arp_start if ((w_parse_arp_start));
      parse_done[0] <= True;
      dbg3($format("%s -> %s", "parse_arp", "start"));
  
negative.code:     parse_state_ff.deq;
    endrule
  
    rule rl_parse_ipv4_parse_udp if ((w_parse_ipv4_parse_udp));
      parse_state_ff.enq(StateParseUdp);
      dbg3($format("%s -> %s", "parse_ipv4", "parse_udp"));
  