summaryrefslogtreecommitdiff
path: root/cesar/cp/cl_interf/src/cl_interf.c
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/cp/cl_interf/src/cl_interf.c')
-rw-r--r--cesar/cp/cl_interf/src/cl_interf.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/cesar/cp/cl_interf/src/cl_interf.c b/cesar/cp/cl_interf/src/cl_interf.c
index 78e1a53028..82961aca58 100644
--- a/cesar/cp/cl_interf/src/cl_interf.c
+++ b/cesar/cp/cl_interf/src/cl_interf.c
@@ -13,6 +13,7 @@
*/
#include "common/std.h"
#include "common/defs/ethernet.h"
+#include "common/defs/eoc.h"
#include "lib/blk.h"
@@ -103,8 +104,16 @@ cp_cl_interf_process_mme_update_sta_expiration_ms (cp_t *ctx, mac_t mac)
if (cp_sta_own_data_get_cco_status (ctx)
&& cp_sta_get_net (sta) == cp_sta_mgr_get_our_avln (ctx))
{
- sta->expired_date_ms = cp_sta_core_get_date_ms (ctx)
- + HPAV_STA_PRESENCE_TIMEOUT_INSIDE_AVLN_MS;
+ if (CONFIG_CP_AV)
+ {
+ sta->expired_date_ms = cp_sta_core_get_date_ms (ctx)
+ + HPAV_STA_PRESENCE_TIMEOUT_INSIDE_AVLN_MS;
+ }
+ else if (CONFIG_CP_EOC)
+ {
+ sta->expired_date_ms = cp_sta_core_get_date_ms (ctx)
+ + EOC_STA_PRESENCE_TIMEOUT_INSIDE_AVLN_MS;
+ }
}
else
sta->expired_date_ms = cp_sta_core_get_date_ms (ctx)
@@ -184,7 +193,7 @@ cp_cl_interf_process_mme (cp_t *ctx)
* we can drop it.
*
* http://standards.ieee.org/develop/regauth/oui/oui.txt */
- if (mme->mmtype < VS_MIN)
+ if (mme->mmtype < VS_MIN && msg->tei != MAC_TEI_FOREIGN)
{
cp_sta_t *sta;
cp_net_t *net;