# Upgrade from 8.2 to 9.0 pf Problem?



## saznik (Apr 19, 2012)

Hi everyone,

Today I try to upgrade my FreeBSD 8.0 RELEASE Firewall Box to 9.0 RELEASE. I download the newest sources via csup and made a custom kernel. Safety first, I tried to boot the new kernel and check whether the machine comes up. As expected the machine was booting fine.

But then I noticed that my clients behind the Firewall can't connect to the Internet. When I try to load the pf.conf I got this message:


```
[userx@dmz-pf /etc]$ sudo pfctl -f /etc/pf.conf
pfctl: DIOCADDRULE: Operation not supported by device
```

This is my first try to upgrade a FreeBSD machine. I'm not sure at this point. Should pf work after booting the new kernel or should it work only when I make the new kernel permanent, install the system with make installworld and merge the system configuration files with mergemaster?

Maybe it is no real problem at this time and I have to go on with the update process. But I thought it is better to ask you than crashing the production machine.

Thanks for your help!


----------



## kpa (Apr 19, 2012)

Did you install a new world as well with `# make installworld` (in single user mode)?

The canonical way to upgrade via sources is described in the handbook:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html


----------



## saznik (Apr 19, 2012)

No. I only boot the new build kernel and want to check the system comes up with it. 

That's my question. Must I go no with next steps (*make installworld*) and finish the update process and after that pf is running or do I have the same problem after *make installworld*?

I read the handbook and I read also this howto
http://forums.freebsd.org/showthread.php?t=26140


----------



## SirDice (Apr 19, 2012)

The binaries you're using now (like pfctl) are out of sync with your kernel.

Do the full upgrade.


----------



## saznik (Apr 19, 2012)

Ok thank for your help. I will do full upgrade next week and tell you if it has worked.


----------



## saznik (Apr 24, 2012)

So my problem is solved. I did the canonical way described in the handbook and finally all worked great.

Thanks!


----------

