Troubleshoot: PRVE-0474 & PRVE-0473

Errors with Berkeley Packet Filter Devices (AIX)

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]
After that, we confirmed that 20 BPF devices, numbered 0 to 19, were created.
# 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:

  1. 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
  1. The device causing the conflict is __vg43, so we checked if it is being used.
# fuser /dev/__vg43
/dev/__vg43:
  1. 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
  1. 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.

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.

Did you find this article interesting, did you have any doubts, do you want to suggest a topic to cover, leave me your comments or contact me me right now!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts

Patching the database
Discover how to perform rolling patching to an Oracle RAC database using AutoUpgrade and a Gold Image.
Install with Gold Image - AutoUpgrade
Learn how to create and use a Gold Image with AutoUpgrade for installing a new Oracle Home.
AutoUpgrade patching - final situation
Learn how to patch Oracle Single Instance databases with AutoUpgrade.

Añade aquí tu texto de cabecera

Need Help?

Fill in these details and I will be in touch as soon as possible.