Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

For mcproxy fixes #1073

Closed
wants to merge 14 commits into from
Closed

For mcproxy fixes #1073

wants to merge 14 commits into from

Commits on Jul 9, 2024

  1. mcproxy: add more configurable parameters

    * query interval
    * query response interval
    * last member query interval
    * robustness value
    * fast leave
    * max groups
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    86d9506 View commit details
    Browse the repository at this point in the history
  2. mcproxy: do not fail if at least one upstream interface is active

    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    7e00a0d View commit details
    Browse the repository at this point in the history
  3. mcproxy: fix IP ToS for IGMPv3 messages

    * Every IGMPv3 message must be sent with IP Type of Service 0xc0
      (see RFC 3376, chapter 4).
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    d08cb0a View commit details
    Browse the repository at this point in the history
  4. mcproxy: fix filtering code

    * Fixed wrong order of parameters in group and source matching functions.
      Because of this error, the forwarding rules in the mcproxy config files
      do not work correctly. In the definition "table { (source | group) ... };"
      group was treated as source and vice versa.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    57b26de View commit details
    Browse the repository at this point in the history
  5. mcproxy: check addresses against null before using

    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    077a3ac View commit details
    Browse the repository at this point in the history
  6. mcproxy: fix threads finishing on terminate

    * All threads in mcproxy were finished by the cpp runtime in a arbitrary
      order when the destructor of the base 'proxy' class was called.
      This caused pure virtual member functions of already destroyed child
      classes to be called (receiver::analyse_packet).
      Also, a 'timing::worker_thread' that was not finished in time could refer
      to an already destroyed queue of the 'proxy_instance'.
    
    * This led to the crashes of the mcproxy.
    
    * Fix: all code related to threads is reduced to one class 'base_worker'
      and thread finishing functions are called explicitly before the objects
      they use are destroyed.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    db0976f View commit details
    Browse the repository at this point in the history
  7. mcproxy: fix exceptions handling

    * The main() function has a try ... catch block to catch c-string
      exceptions (trow "message"), but mcproxy generate a few other types
      of exceptions (std::strins) that will not be caught.
    
    * All explicitly thrown exceptions are now caught.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    ecf8aa0 View commit details
    Browse the repository at this point in the history
  8. mcproxy: Added signal handler to dump group membership details

    * Added a signal handler in mcproxy that dumps the group membership details
      information into file /tmp/igmp_snooping_stats.
    
    * Group information is collected from arp table, bridge mdb table
      and bridge fdb table via netlink sockets, as all this information
      is not available at on place.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    dc58f06 View commit details
    Browse the repository at this point in the history
  9. mcproxy: Handling of igmpv3 allow new sources record

    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    4be41d5 View commit details
    Browse the repository at this point in the history
  10. mcproxy: fix fast leave

    * Add a check to not to send igmp group specific queries in case
      fast leave is enabled.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    61de682 View commit details
    Browse the repository at this point in the history
  11. mcproxy: In handling of MLD allow new sources record

    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    54ba223 View commit details
    Browse the repository at this point in the history
  12. mcproxy: fix interface detection for packets with zero source

    * Get an explicit interface number for all packets instead of
      detecting interface by the source address.
    * Some proxies may send IGMP reports with a zero IP source address (0.0.0.0),
      so interface number can't be reliably detected by source IP.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    6c853a9 View commit details
    Browse the repository at this point in the history
  13. mcproxy: fix source address in MLD multicast dump

    * Instead of the source address, the destination address from IPV6_PKTINFO
      was used. This incorrect address was included in MLD multicast dump entries.
      Now the real src address of the packet is used.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    27b84ec View commit details
    Browse the repository at this point in the history
  14. mcproxy: handle special multicast addresses

    * Add handling of special IPv4 and IPv6 mcast addresses while
      proxying.
    
    Signed-off-by: Mohd Husaam Mehdi <[email protected]>
    mhusaam committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    0944bd4 View commit details
    Browse the repository at this point in the history