The IF-MIB counters are defined with respect to lower and upper layers:
ifInDiscards?The number of inbound packets which were discarded, even though no errors were detected to prevent their being deliverable to a higher-layer protocol. One reason for discarding such a packet could be to free up buffer space.
IfInErrors?The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol for packet-oriented interfaces.
ifInUnknownProtos?The number of packets received through the interface which were discarded because of an unknown or unsupported protocol for packet-oriented interfaces.
ifOutDiscards The number of outbound packets which were discarded even though no errors were detected to prevent their being transmitted. One reason for discarding such a packet is to free up buffer space.
ififOutErrors?The number of outbound packets that could not be transmitted because of errors for packet-oriented interfaces