[Bug 234073] ixl: SR-IOV causes "Malicious Driver Detection event" when not all VFs are in passthrough mode

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 30 Apr 2022 20:51:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234073

--- Comment #16 from benoitc <benoitc@enki-multimedia.eu> ---
SO I tried the following experience: 

1. start the bhyve VM with 2 passtrhrough device
2. launch dhclient to get an ip on VF-0

I got the following error:

```
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode CONFIG_RSS_KEY to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode SET_RSS_HENA to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode CONFIG_RSS_LUT to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode CONFIG_IRQ_MAP to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode
CONFIG_PROMISCUOUS_MODE to PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ENABLE_QUEUES to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: ARQ Critical Error detected
Apr 30 22:40:55 pollen1 kernel: iavf0: ASQ Critical Error detected
Apr 30 22:40:55 pollen1 kernel: iavf0: WARNING: Stopping VF!
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode RESET_VF to PF,
ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: 1<ENABLE_QUEUES> timed out
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 bird[3179]: KIF: Invalid interface address 0.0.0.0 for
iavf0
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 bird[3179]: KIF: Invalid interface address 0.0.0.0 for
iavf0
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode DEL_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:40:55 pollen1 kernel: iavf0: Unable to send opcode ADD_ETH_ADDR to
PF, ASQ is not alive
Apr 30 22:41:14 pollen1 dhclient[6008]: connection closed
```

Configuration is the following

```
PF {
        device: "ixl0";
        num_vfs: 8;
}

DEFAULT {
        passthrough: true;
        allow-set-mac: true;
        allow-promisc: true;
}

VF-0 {
        passthrough: false;
        mac-addr: "xx:xx:xx:xx:xx:xx";
}

VF-1 {
        passthrough: false;
        mac-addr: "xx:xx:xx:xx:xx:xx";
}

VF-2 {
        passthrough: false;
        mac-addr: "xx:xx:xx:xx:xx:xx";
}
```

-- 
You are receiving this mail because:
You are the assignee for the bug.