Skip to content

imp_get_mfcc_ttls() and iface index #5

@ghost

Description

Function imp_get_mfcc_ttls() checks that

p_if->if_index < length

where length is MAXVIFS (32 for linux).

But interface index may be greater than this value.
SOHO routers may have 40 interfaces (e.g. Realtek-based routers with real and virtual wifi interfaces, wds etc). As a result, eth1 (wan) and br0 (lan) have indexes greater than 32 and improxy doesn't call
imp_membership_db_mfc_add() because imp_get_mfcc_ttls returns 0.

I don't quite understand this limitation. I removed it for my device. But as a generic solution, maybe you should check the number of interfaces for which you call k_add_ip6_mif or k_add_ip4_vif.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions