Hi all,

I've just upgraded two OpenBSD boxes from 4.4 to 4.5.

I'm using the AMD64 version of GENERIC kernel, all patches applied.

I'm trying to convert my old gateway configuration from active/passive
to active/active, thanks to the brand new pfsync protocol
implementation. I'd like to use stealth-ip mode, because I have to use a
poor 24 ports switch.

So, when I start to send packets through the cluster, if I start tcpdump
on both machines I can see carp interfaces work correctly, but traffic
is forwarded only through one host, ALWAYS, even if I try to generate
traffic from different hosts across the Internet.

If I reboot the active machine, the traffic starts to flow throught the
other machine (so failover works).

I'm not able to obtain both carp interfaces work in a load balanced way.


So, this is my network:


              **switch**
                   |
                (carp0) 
              10.200.10.2
         bge0 /        \ bge0
---------------         ---------------
| 10.200.10.3 |         | 10.200.10.4 |
| * host A *  |         | * host B *  |
|192.168.10.2 |         |192.168.10.3 |
---------------         --------------
         bge1 \        / bge1
             192.168.10.1
                (carp1)
                   |
             **switch lan**


On sysctl.conf, I've set net.inet.carp.preempt to 1 on both machines.
pf is enabled with pass in/pass pass out rules.
Obviously, ip forwadring is enabled too.


On host A, I configured these:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/hostname.bge0
inet 10.200.10.3 255.255.255.240 NONE

/etc/hostname.bge1
inet 192.168.10.2 255.255.255.0 NONE

/etc/hostname.carp0
inet 10.200.10.2 255.255.255.240 10.200.10.15 vhid 10 carpdev bge0 pass
password carpnodes 10:0,11:100 balancing ip-stealth

/etc/hostname.carp1
inet 192.168.10.1 255.255.255.0 192.168.10.255 vhid 20 carpdev bge1 pass
password carpnodes 20:0,21:100 balancing ip-stealth
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


On host B, I configured these:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/hostname.bge0
inet 10.200.10.4 255.255.255.240 NONE

/etc/hostname.bge1
inet 192.168.10.3 255.255.255.0 NONE

/etc/hostname.carp0
inet 10.200.10.2 255.255.255.240 10.200.10.15 vhid 11 carpdev bge0 pass
password carpnodes 10:100,11:0 balancing ip-stealth

/etc/hostname.carp1
inet 192.168.10.1 255.255.255.0 192.168.10.255 vhid 21 carpdev bge1 pass
password carpnodes 20:100,21:0 balancing ip-stealth
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


This is what I see with with ifcofig about carp interfaces on host A:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:5e:00:01:0a
        priority: 0
        carp: carpdev bge0 advbase 1 balancing ip-stealth
                state MASTER vhid 10 advskew 0
                state BACKUP vhid 11 advskew 100
        groups: carp
        inet6 fe80::200:5eff:fe00:10a%carp0 prefixlen 64 scopeid 0x7
        inet 10.200.10.2 netmask 0xfffffff0 broadcast 10.200.10.15
carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:5e:00:01:14
        priority: 0
        carp: carpdev bge1 advbase 1 balancing ip-stealth
                state MASTER vhid 20 advskew 0
                state BACKUP vhid 21 advskew 100
        groups: carp
        inet6 fe80::200:5eff:fe00:114%carp1 prefixlen 64 scopeid 0x8
        inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


And this on host B:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:5e:00:01:0a
        priority: 0
        carp: carpdev bge0 advbase 1 balancing ip-stealth
                state BACKUP vhid 10 advskew 100
                state MASTER vhid 11 advskew 0
        groups: carp
        inet6 fe80::200:5eff:fe00:10a%carp0 prefixlen 64 scopeid 0x7
        inet 10.200.10.2 netmask 0xfffffff0 broadcast 10.200.10.15
carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:5e:00:01:14
        priority: 0
        carp: carpdev bge1 advbase 1 balancing ip-stealth
                state BACKUP vhid 20 advskew 100
                state MASTER vhid 21 advskew 0
        groups: carp
        inet6 fe80::200:5eff:fe00:114%carp1 prefixlen 64 scopeid 0x8
        inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I'm focusing on the mac addresses of the carp interfaces: reading the
man pages, these should be the multicast type, but 00:xx:xx:xx:xx:xx is
not in the multicast family.

So, what's wrong with my configuration?
Every hint will be appreciated.

Reply via email to