some e1000g devices don't support 15 unicast addresses
The default maximum number of unicast addresses is 15 for e1000g. The driver allows you to set as many unicast addresses as you want, switching the device to promiscuous mode if you try to set more than 15.
Some devices use a different (smaller) register set to hold unicast addresses and only support 5 or 7 of them. The driver should reduce it's notion of the default number of unicast addresses to match what the hardware supports so it will do the switch to promiscuous mode at the right time.
I found this when setting up more than four vnics on my laptop. No packets would flow through the 5th vnic, and it magically worked when I tried tcpdumping it.