There is a match field in OpenFlow 1.3 specification named OFPXMT_OFB_ARP_OP.
In trema-edge implementation, the variable name
arp_op is wildly used to represent this match field. E.g. in the definition of function
append_action_set_field_arp_op()
However, in /usr/include/netinet/if_ether.h, arp_op is defined as ea_hdr.ar_op using #define.
A trema-edge controller application therefore cannot include /usr/include/netinet/ether.h
As a consequence, functions such as ether_ntoa() cannot be used, which is quite inconvenient when handling MAC addresses.
I suggest that we replace all arp_op in trema-edge with arp_opcode. (Fortunately there are not too many of them in the latest version.)