e current packet. :param flds: is a list of tuples (`fld`, `cond`) or (`fld`, `cond`, `hint`) where `fld` if a field type, and `cond` a "condition" to determine if `fld` is the field type that should be used. ``cond`` is either: - a callable `cond_pkt` that accepts one argument (the packet) and returns True if `fld` should be used, False otherwise. - a tuple (`cond_pkt`, `cond_pkt_val`), where `cond_pkt` is the same as in the previous case and `cond_pkt_val` is a callable that accepts two arguments (the packet, and the value to be set) and returns True if `fld` should be used, False otherwise. See scapy.layers.l2.ARP (type "help(ARP)" in Scapy) for an example of use. )