I would like to get ucarp to work over a wireless (802.11g) interface, but the packages is never seen on the wired end. The setup looks like this: Box1 (10.0.0.11, wireless) -- AP -- (10.0.0.13, wired) Box2. The boxes are running Fedora 14.
Ucarp uses multi-cast over IP protocol 112, so the problem could multicast in general (novice on that area). An example of testing multicast could be helpfull.
Tried different AP without luck.
Interface configuration:
box1:
wlan0 Link encap:Ethernet HWaddr 00:25:D3:66:D7:29
inet addr:10.0.0.11 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::225:d3ff:fe66:d729/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3247070 errors:0 dropped:0 overruns:0 frame:0
TX packets:2789199 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1093108352 (1.0 GiB) TX bytes:1110510418 (1.0 GiB)
box2:
eth0 Link encap:Ethernet HWaddr 00:30:18:49:2C:0B
inet addr:10.0.0.13 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: 2002:5ab8:94f:0:230:18ff:fe49:2c0b/64 Scope:Global
inet6 addr: fe80::230:18ff:fe49:2c0b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:94644 errors:0 dropped:0 overruns:0 frame:0
TX packets:103837 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14241594 (13.5 MiB) TX bytes:36028932 (34.3 MiB)
Box1 (wireless) seems both announcements (tcpdump on proto 112):
11:29:25.077027 IP (tos 0x10, ttl 255, id 29951, offset 0, flags [DF], proto VRRP (112), length 56)
10.0.0.13 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 0, authtype none, intvl 1s, length 36, addrs(7): 94.170.238.51,40.179.39.159,179.178.2.92,138.102.99.137,193.62.189.152,135.186.175.252,119.36.182.32
11:29:25.078044 IP (tos 0x10, ttl 255, id 49527, offset 0, flags [DF], proto VRRP (112), length 56)
10.0.0.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 2, prio 0, authtype none, intvl 1s, length 36, addrs(7): 94.170.238.51,40.179.39.160,157.97.113.49,176.72.71.53,161.168.39.154,206.173.245.12,7.133.19.141
Box2 only sees it's own.
802.11 only allows you to use the MAC address you have associated with your AP. CARP will use a virtual MAC, making it impossible to get it working over a WLAN.
This is also why WLAN client bridges have to do MAC NAT - but this would not help with CARP, you need to keep the virtual MAC intact.
Using WDS should allow this to work, but I have no idea how to configure it in Linux (I think it is possible because OpenWRT et al do it). An external client bridge supporting WDS should work.