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

What is the use case for Proactive PREQ with no PREP and Proactive PREQ with PREP? #89

Open
yongseok75 opened this issue Dec 2, 2020 · 2 comments

Comments

@yongseok75
Copy link

Just want to understand what is the real use cases for

Proactive PREQ with no PREP
Proactive PREQ with PREP

I am checking hwmp_preq_frame_process() API in linux mac80211 and when we received "broadcast" PREQ, following code block makes difference based on PREQ / PREP behavior:

    } else if (is_broadcast_ether_addr(target_addr) &&
               (target_flags & IEEE80211_PREQ_TO_FLAG)) {
            rcu_read_lock();
            mpath = mesh_path_lookup(sdata, orig_addr);
            if (mpath) {
                    if (flags & IEEE80211_PREQ_PROACTIVE_PREP_FLAG) {
                            reply = true;
                            target_addr = sdata->vif.addr;
                            target_sn = ++ifmsh->sn;
                            target_metric = 0;
                            ifmsh->last_sn_update = jiffies;
                    } 
                    if (root_is_gate)
                            mesh_path_add_gate(mpath);
            }
            rcu_read_unlock();
    } else {

As we can see, if flags doesn't have IEEE80211_PREQ_PROACTIVE_PREP_FLAG bit, we don't reply (which is correct). I am just wondering when the flag is set from PREQ sender.

Thanks in advance!!

@yongseok75
Copy link
Author

BTW, sender is set to Proactive PREQ with "no PREP". That is why I am wondering what will be the functional differences and use case difference between no PREP and PREP cases.

@chunyeow
Copy link
Contributor

chunyeow commented Dec 3, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants