I tested a bit with CentOS 6.3
I've got CentOS 6.4 in my cloud - no drops at all at OS level although vCenter shows some small amount of dropped packets on this VM.
The MTU everywhere is 1500 bytes.
Tried out some tests:
1. Disabled vDS healthcheck and this is what I see:
user01@ubuntu01:~$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 3278579 0 110388 0 4471703 0 0 0 BMRU
lo 65536 0 84937 0 0 0 84937 0 0 0 LRU
2. Created and sent 3 packets using scapy from CentOS to FF:FF:FF:FF:FF:FF
user01@ubuntu01:~$ sudo tcpdump port not 22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:38:39.113905 00:50:56:bf:2a:7c (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 60:
0x0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
12:38:39.417839 00:50:56:bf:2a:7c (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 60:
0x0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
12:38:39.761906 00:50:56:bf:2a:7c (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 60:
0x0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
user01@ubuntu01:~$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 3278626 0 110388 0 4471762 0 0 0 BMRU
lo 65536 0 84943 0 0 0 84943 0 0 0 LRU
user01@ubuntu01:~$
As seen, no drops. But wait, there is more!
3. Enabled health check.
user01@ubuntu01:~$ sudo tcpdump port not 22 | grep -i ethertype
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:40:59.568215 00:50:56:51:96:6d (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.568555 00:50:56:5c:79:7d (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.568909 00:50:56:5c:79:7f (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.569112 00:50:56:5c:79:7e (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.569460 00:50:56:51:9a:e0 (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.570060 00:50:56:5c:7a:15 (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.570337 00:50:56:5c:7a:17 (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
12:40:59.570708 00:50:56:5c:7a:16 (oui Unknown) > Broadcast, ethertype Unknown (0x8922), length 1500:
^C8 packets captured
8 packets received by filter
0 packets dropped by kernel
user01@ubuntu01:~$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 3278689 0 110388 0 4471815 0 0 0 BMRU
lo 65536 0 84956 0 0 0 84956 0 0 0 LRU
Five seconds later:
user01@ubuntu01:~$ netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 3278716 0 110392 0 4471847 0 0 0 BMRU
lo 65536 0 84956 0 0 0 84956 0 0 0 LRU
RX-DRP increments by 4 or 8 periodically. Number of dropped packets from vCenter stats increases evenly as well but is slightly larger. Probably there is something else that is dropped.
Will try to investigate further. Anyway thanks a lot for advise!