Project

General

Profile

Bug #5783

IGMP Proxy not working with CARP alias on upstream interface

Added by Tobias Wigand over 3 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
IGMP Proxy
Target version:
Start date:
01/19/2016
Due date:
% Done:

100%

Estimated time:
Affected Version:
2.3
Affected Architecture:
All

Associated revisions

Revision 2a5960b0 (diff)
Added by Luiz Souza over 3 years ago

Review of CARP uniqid changes.

It turns out that current CARP implementation is not much different from an IP alias.

This commit converts the IP alias to also use the CARP uniqid scheme, this simplify the code in all other places because now we have only two different cases to deal with:

- A friendly interface name (lan, wan, opt1, etc.);
- A Virtual IP - VIP alias (_vip{$uniqid}) - CARP or IP Alias.

The parent of a CARP is always a friendly interface. The parent of an IP alias can be a friendly interface or a CARP (this is the only case of recursion of a VIP).

This commit removes a few cases where CARP were still considered a interface (the old CARP implementation), fixes all the wrong cases of strpos() being used to detect a VIP address (wont work as it returns '0' which fails when tested as 'TRUE'), review the usage of CARP and IP alias as services bind addresses, fixes general issues of adding and editing VIP addresses.

The following subsystems were affected by this changes:

- IPSEC;
- OpenVPN;
- dnsmasq;
- NTP;
- gateways and gateway groups;
- IPv6 RA;
- GRE interfaces;
- CARP status;
- Referrer authentication.

Fixes (and/or revisit) the following tickets:

- Ticket #3257
- Ticket #3716
- Ticket #4450
- Ticket #4858
- Ticket #5441
- Ticket #5442
- Ticket #5500
- Ticket #5783
- Ticket #5844

History

#1 Updated by Jim Thompson over 3 years ago

  • Status changed from New to Assigned
  • Assignee set to Luiz Souza
  • Target version set to 2.3

#2 Updated by Luiz Souza over 3 years ago

  • Status changed from Assigned to Feedback
  • % Done changed from 0 to 100

This should be fixed. Let us know if it works for you. Thanks!

#3 Updated by Tobias Wigand over 3 years ago

Sorry, did not help. I'm on the latest beta with gitsync as of now.
ifconfig still shows the CARP IPs as aliases of my interfaces, thus IGMP Proxy tries to add both IPs of my WAN interface and fails with something like:

Vif #7 was already upstream. Cannot set VIF #8 as upstream as well.

Running it in debug mode shows this for my WAN interface:

buildIfVc: Interface igb1 Addr: 192.x.x.252, Flags: 0xffff8943, Network: 192.x.x/24
buildIfVc: Interface igb1 Addr: 192.x.x.250, Flags: 0xffff8943, Network: 192.x.x/24

#4 Updated by Chris Buechler over 3 years ago

  • Status changed from Feedback to Confirmed
  • % Done changed from 100 to 0

wasn't related to the changes in 2a5960b0. Appears latest igmpproxy has a Linuxism that expects its interfaces to only have a single IP

#5 Updated by Luiz Souza about 3 years ago

  • Status changed from Confirmed to Feedback
  • % Done changed from 0 to 100

exactly, the bug in igmpproxy was fixed and now works fine with CARP and IP alias on upstream interface.

#6 Updated by Chris Buechler about 3 years ago

This seems to be fine, it no longer errors out with something like

Vif #7 was already upstream. Cannot set VIF #8 as upstream as well.

Tobias: can you confirm?

#7 Updated by Chris Buechler about 3 years ago

  • Status changed from Feedback to Resolved

it works.

Also available in: Atom PDF