Most of my clients use Linux, but some still prefer AIX, and one of them contacted me about error messages when trying to install Oracle Grid Infrastructure 19c on a new cluster for the first time.
I have to admit that when I saw the error message “Berkeley Packet Filter,” I didn’t know what it meant or what problems it could cause. So, to help you avoid issues, I explain the steps to take in this situation below.
The issue
Using the Grid Infrastructure Installation Guide for IBM AIX, my client was ready to set up their new Oracle 19.30 Cluster. As the first step, they ran the Oracle Cluster Verification Utility and found the first problem:
$ ./runcluvfy.sh stage -pre crsinst -n server1,server2
Performing following verification checks . . .
Physical Memory ...PASSED
Available Physical Memory ...PASSED
Swap Size ...PASSED
.
.
.
User Equivalence ...PASSED
File system mount options for path /var ... PASSED
Berkeley Packet Filter devices /dev/bpf* existence and validation check ...FAILED (PRVE-0474)
ORAck checks ...INFORMATION (PRVH-1507)
Pre-check for cluster services setup was unsuccessful on all the nodes.
Failures were encountered during execution of CVU vertfication request "stage -pre crsinst".
Berkeley Packet Filter devices /dev/bpf* existence and validation check
...FAILED
server2: PRVE-0474 : Berkeley Packet Filter devices do not exist under
directory /dev on nodes "server2"
server1: PRVE-0474 : Berkeley Packet Filter devices do not exist under
directory /dev on nodes "server1"
CVU operation performed: stage -pre crsinst
Date: Jul 9, 2026 11:08:05 AM
CVU version: 19:30.0.0.0 (122925a1x)
CVU home: /oracle/app/19.30.0/grid
User: grid
Operating system: AIX7.2
The PRVE-0474 error happens on both nodes, showing that no devices are linked to the Berkeley Packet Filter (BPF).
A quick search in My Oracle Support finds the KB149319 document (PRVE-0474 Berkeley Packet Filter Devices do not Exist Under directory /dev on Nodes “Node1”), which explains the main cause of the problem:
Berkeley Packet Filter devices /dev/bpf* does not exist on system. Oracle use ioctl command to access bpf devices.
Although the Installation Guide does not provide these details, it is clear that completing this configuration is necessary to continue.
We will continue with the solution detailed in the My Oracle Support document, which requires running the command tcpdump -D on both nodes of the cluster.
# ls -lart /dev/bpf*
ls: 0653-341 The file /dev/bpf* does not exist.
# /usr/sbin/tcpdump -D
1.eno
2.enl
3.loo [Loopback]
# ls -lart /dev/bpf*
cr-------- 1 root system 43, 0 Jul 09 15:43 /dev/bpf0
cr-------- 1 root system 43, 1 Jul 09 15:43 /dev/bpf1
cr-------- 1 root system 43, 10 Jul 09 15:43 /dev/bpf10
cr-------- 1 root system 43, 11 Jul 09 15:43 /dev/bpf11
cr-------- 1 root system 43, 12 Jul 09 15:43 /dev/bpf12
cr-------- 1 root system 43, 13 Jul 09 15:43 /dev/bpf13
cr-------- 1 root system 43, 14 Jul 09 15:43 /dev/bpf14
cr-------- 1 root system 43, 15 Jul 09 15:43 /dev/bpf15
cr-------- 1 root system 43, 16 Jul 09 15:43 /dev/bpf16
cr-------- 1 root system 43, 17 Jul 09 15:43 /dev/bpf17
cr-------- 1 root system 43, 18 Jul 09 15:43 /dev/bpf18
cr-------- 1 root system 43, 19 Jul 09 15:43 /dev/bpf19
cr-------- 1 root system 43, 2 Jul 09 15:43 /dev/bpf2
cr-------- 1 root system 43, 3 Jul 09 15:43 /dev/bpf3
cr-------- 1 root system 43, 4 Jul 09 15:43 /dev/bpf4
cr-------- 1 root system 43, 5 Jul 09 15:43 /dev/bpf5
cr-------- 1 root system 43, 6 Jul 09 15:43 /dev/bpf6
cr-------- 1 root system 43, 7 Jul 09 15:43 /dev/bpf7
cr-------- 1 root system 43, 8 Jul 09 15:43 /dev/bpf8
cr-------- 1 root system 43, 9 Jul 09 15:43 /dev/bpf9
Second try
Sure that everything is finally set up correctly, we run the Oracle Cluster Verification Utility again, but then we find a new problem:
$ ./runcluvfy.sh stage -pre crsinst -n server1,server2
Performing following verification checks . . .
Physical Memory ...PASSED
Available Physical Memory ...PASSED
Swap Size ...PASSED
.
.
.
User Equivalence ...PASSED
File system mount options for path /var ... PASSED
Berkeley Packet Filter devices /dev/bpf* existence and validation check ...WARNING (PRVE-0473)
ORAck checks ...INFORMATION (PRVH-1507)
Pre-check for cluster services setup was successful.
Warnings were encountered during execution of CVU vertfication request "stage -pre crsinst".
Berkeley Packet Filter devices /dev/bpf* existence and validation check
...WARNING
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf19" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf18" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf13" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf16" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf2" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf3" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf14" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf17" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf10" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf7" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf15" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf1" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf9" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf8" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf12" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf5" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf4" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf6" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf0" is created with
major number "43" which is already in use by devices "/dev/__vg43" on
node "server1".
server1: PRVE-0473 : Berkeley Packet Filter device "/dev/bpf11" is created
with major number "43" which is already in use by devices
"/dev/__vg43" on node "server1".
ORAchk checks ...INFORMATION
PRVH-1507 : ORAchk/EXAchk checks are skipped.
CVU operation performed: stage -pre crsinst
Date: Jul 9, 2026 3:59:56 PM
CVU version: 19:30.0.0.0 (122925a1x)
CVU home: /oracle/app/19.30.0/grid
User: grid
Operating system: AIX7.2
Now, the PRVE-0473 error tells us that the new BPF devices have a major number already in use by another device!
Uncharted territory
We looked in My Oracle Support and found nothing; we also searched online with no success, so we asked IBM for help, and they quickly told us to follow these steps:
- Since the message says there are conflicts with the major number, we began by listing the devices with major=43.
# ls -lart /dev | grep " 43,"
cr-------- 1 root system 43, 0 Jun 23 14:31 /dev/__vg43
cr-------- 1 root system 43, 0 Jul 09 15:43 /dev/bpf0
cr-------- 1 root system 43, 1 Jul 09 15:43 /dev/bpf1
cr-------- 1 root system 43, 10 Jul 09 15:43 /dev/bpf10
cr-------- 1 root system 43, 11 Jul 09 15:43 /dev/bpf11
cr-------- 1 root system 43, 12 Jul 09 15:43 /dev/bpf12
cr-------- 1 root system 43, 13 Jul 09 15:43 /dev/bpf13
cr-------- 1 root system 43, 14 Jul 09 15:43 /dev/bpf14
cr-------- 1 root system 43, 15 Jul 09 15:43 /dev/bpf15
cr-------- 1 root system 43, 16 Jul 09 15:43 /dev/bpf16
cr-------- 1 root system 43, 17 Jul 09 15:43 /dev/bpf17
cr-------- 1 root system 43, 18 Jul 09 15:43 /dev/bpf18
cr-------- 1 root system 43, 19 Jul 09 15:43 /dev/bpf19
cr-------- 1 root system 43, 2 Jul 09 15:43 /dev/bpf2
cr-------- 1 root system 43, 3 Jul 09 15:43 /dev/bpf3
cr-------- 1 root system 43, 4 Jul 09 15:43 /dev/bpf4
cr-------- 1 root system 43, 5 Jul 09 15:43 /dev/bpf5
cr-------- 1 root system 43, 6 Jul 09 15:43 /dev/bpf6
cr-------- 1 root system 43, 7 Jul 09 15:43 /dev/bpf7
cr-------- 1 root system 43, 8 Jul 09 15:43 /dev/bpf8
cr-------- 1 root system 43, 9 Jul 09 15:43 /dev/bpf9
- The device causing the conflict is __vg43, so we checked if it is being used.
# fuser /dev/__vg43
/dev/__vg43:
- After confirming that no process is using the device, we need to check if it is registered in the Object Data Manager (ODM).
# odmget -q "name=__vg43" CuDv
- Since odmget returns no data, we can conclude that there is no object linked to the __vg43 device, and so it is safe to remove it.
# rm /dev/__vg43
Back to normal
As they say, “third time’s the charm,” so we run the Oracle Cluster Verification Utility again, hope for the best, and after a few minutes, it finishes without any problems!
$ ./runcluvfy.sh stage -pre crsinst -n server1,server2
Performing following verification checks . . .
Physical Memory ...PASSED
Available Physical Memory ...PASSED
Swap Size ...PASSED
.
.
.
User Equivalence ...PASSED
File system mount options for path /var ... PASSED
Berkeley Packet Filter devices /dev/bpf* existence and validation check ...PASSED
ORAck checks ...INFORMATION (PRVH-1507)
Pre-check for cluster services setup was successful on all the nodes.
CVU operation performed: stage -pre crsinst
Date: Jul 9, 2026 4:21:43 PM
CVU version: 19:30.0.0.0 (122925a1x)
CVU home: /oracle/app/19.30.0/grid
User: grid
Operating system: AIX7.2
Final thoughts
The documentation didn’t mention this, but to install Oracle Grid Infrastructure 12c or higher, you need to set up Berkeley Packet Filter devices, which usually means running a command. However, you now have this step-by-step guide for when you run into unexpected problems.