Re: CARP not preempt-ing correctly

2006-01-22 Thread Chris Cameron

Running 3.8.


Chris


Daniel Ouellet wrote:

Chris Cameron wrote:
When one interface fails in a carp setup, it is my understanding that 
if net.inet.carp.preempt is set to '1', that both interfaces on the 
single machine should fail. However I'm not seeing this happening and 
I'm hoping this is why I'm dropping connections during fail over. If I 
fail both interfaces at the exact same time I have no problems with 
dropped connections.


Nope, just the carp interface that actually fail, not both. They are 
process independently of one an other


Also, what version of OS are you running?

My setup is as follows, I'll mention that pfsync traffic is going over 
the local network. Also, I've tried with setting advskew to 100 one 
one firewall, as well as not setting it at all with 
net.inet.carp.preempt set.




Re: CARP not preempt-ing correctly

2006-01-22 Thread Daniel Ouellet

Daniel Ouellet wrote:

Chris Cameron wrote:
When one interface fails in a carp setup, it is my understanding that 
if net.inet.carp.preempt is set to '1', that both interfaces on the 
single machine should fail. However I'm not seeing this happening and 
I'm hoping this is why I'm dropping connections during fail over. If I 
fail both interfaces at the exact same time I have no problems with 
dropped connections.


Nope, just the carp interface that actually fail, not both. They are 
process independently of one an other


Also, what version of OS are you running?



Hmmm. Just wait a minute, I may have put my foot in my mouth here. From man

"Because of the preempt option, when one of the physical interfaces of 
host A fails, advskew is adjusted to 240 on all its carp interfaces. 
This will cause host B to preempt on both interfaces instead of just the 
failed one."




Re: CARP not preempt-ing correctly

2006-01-22 Thread Daniel Ouellet

Chris Cameron wrote:
When one interface fails in a carp setup, it is my understanding that if 
net.inet.carp.preempt is set to '1', that both interfaces on the single 
machine should fail. However I'm not seeing this happening and I'm 
hoping this is why I'm dropping connections during fail over. If I fail 
both interfaces at the exact same time I have no problems with dropped 
connections.


Nope, just the carp interface that actually fail, not both. They are 
process independently of one an other


Also, what version of OS are you running?

My setup is as follows, I'll mention that pfsync traffic is going over 
the local network. Also, I've tried with setting advskew to 100 one one 
firewall, as well as not setting it at all with net.inet.carp.preempt set.




CARP not preempt-ing correctly

2006-01-22 Thread Chris Cameron
When one interface fails in a carp setup, it is my understanding that if 
net.inet.carp.preempt is set to '1', that both interfaces on the single 
machine should fail. However I'm not seeing this happening and I'm 
hoping this is why I'm dropping connections during fail over. If I fail 
both interfaces at the exact same time I have no problems with dropped 
connections.


My setup is as follows, I'll mention that pfsync traffic is going over 
the local network. Also, I've tried with setting advskew to 100 one one 
firewall, as well as not setting it at all with net.inet.carp.preempt set.



Firewall 1:

# sysctl -a | grep carp
net.inet.carp.allow=1
net.inet.carp.preempt=1
net.inet.carp.log=1
net.inet.carp.arpbalance=0

# ifconfig -a
 ...
gem0: 
flags=8b63 
mtu 1500

lladdr 00:03:ba:94:5f:06
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 209.82.103.244 netmask 0xfff8 broadcast 209.82.103.247
inet6 fe80::203:baff:fe94:5f06%gem0 prefixlen 64 scopeid 0x1
gem1: 
flags=8b63 
mtu 1500

lladdr 00:03:ba:94:5f:07
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 192.168.121.2 netmask 0xff00 broadcast 192.168.121.255
inet6 fe80::203:baff:fe94:5f07%gem1 prefixlen 64 scopeid 0x2
pflog0: flags=141 mtu 33192
pfsync0: flags=41 mtu 1348
pfsync: syncdev: gem1 maxupd: 128
enc0: flags=0<> mtu 1536
carp0: flags=8843 mtu 1500
carp: BACKUP carpdev gem0 vhid 1 advbase 1 advskew 100
groups: carp
inet 209.82.103.246 netmask 0xfff8 broadcast 209.82.103.247
carp1: flags=8843 mtu 1500
carp: BACKUP carpdev gem1 vhid 2 advbase 1 advskew 100
groups: carp
inet 192.168.121.1 netmask 0xff00 broadcast 192.168.121.255

# cat pf.conf | grep -v "#"

nat on gem0 from 192.168.121.0/24 to any -> 209.82.103.246

rdr pass on gem0 proto tcp from any to any port 25 -> 192.168.121.10
rdr pass on gem0 proto udp from any to any port 53 -> 192.168.121.10
rdr pass on gem0 proto tcp from any to any port 6881 -> 192.168.121.123

pass quick on gem1 proto pfsync
pass on { gem0 gem1 } proto carp keep state
pass out on gem0 keep state
pass in on gem0 keep state



Firewall 2:

# sysctl -a | grep carp
net.inet.carp.allow=1
net.inet.carp.preempt=1
net.inet.carp.log=1
net.inet.carp.arpbalance=0

# ifconfig -a
 ...
gem0: 
flags=8b63 
mtu 1500

lladdr 00:03:ba:94:5f:1c
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 209.82.103.245 netmask 0xfff8 broadcast 209.82.103.247
inet6 fe80::203:baff:fe94:5f1c%gem0 prefixlen 64 scopeid 0x1
gem1: 
flags=8b63 
mtu 1500

lladdr 00:03:ba:94:5f:1d
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 192.168.121.3 netmask 0xff00 broadcast 192.168.121.255
inet6 fe80::203:baff:fe94:5f1d%gem1 prefixlen 64 scopeid 0x2
pflog0: flags=141 mtu 33192
pfsync0: flags=41 mtu 1348
pfsync: syncdev: gem1 maxupd: 128
enc0: flags=0<> mtu 1536
carp0: flags=8843 mtu 1500
carp: MASTER carpdev gem0 vhid 1 advbase 1 advskew 0
groups: carp
inet 209.82.103.246 netmask 0xfff8 broadcast 209.82.103.247
carp1: flags=8843 mtu 1500
carp: MASTER carpdev gem1 vhid 2 advbase 1 advskew 0
groups: carp
inet 192.168.121.1 netmask 0xff00 broadcast 192.168.121.255

# cat pf.conf | grep -v "#"

nat on gem0 from 192.168.121.0/24 to any -> 209.82.103.246

rdr pass on gem0 proto tcp from any to any port 25 -> 192.168.121.10
rdr pass on gem0 proto udp from any to any port 53 -> 192.168.121.10
rdr pass on gem0 proto tcp from any to any port 6881 -> 192.168.121.123


pass quick on { gem1 } proto pfsync
pass on { gem0 gem1 } proto carp keep state

pass out on gem0 all keep state
pass in on gem0 all keep state



Any help on this would be appreciated.

Thanks,
Chris