diff --git a/core/rmnet_descriptor.c b/core/rmnet_descriptor.c index 6b134f4dba..c4f26e1b2c 100644 --- a/core/rmnet_descriptor.c +++ b/core/rmnet_descriptor.c @@ -545,6 +545,12 @@ int rmnet_frag_flow_command(struct rmnet_frag_descriptor *frag_desc, if (!cmd) return -1; + /* Silently discard any marksers recived over the LL channel */ + if (frag_desc->priority == 0xda1a && + (cmd->command_name == RMNET_MAP_COMMAND_FLOW_START || + cmd->command_name == RMNET_MAP_COMMAND_FLOW_END)) + return 0; + switch (cmd->command_name) { case RMNET_MAP_COMMAND_FLOW_START: rmnet_frag_process_flow_start(frag_desc, cmd, port, pkt_len); diff --git a/core/rmnet_map_command.c b/core/rmnet_map_command.c index be60422c37..d18e778444 100644 --- a/core/rmnet_map_command.c +++ b/core/rmnet_map_command.c @@ -243,6 +243,16 @@ int rmnet_map_flow_command(struct sk_buff *skb, struct rmnet_port *port, cmd = rmnet_map_get_cmd_start(skb); command_name = cmd->command_name; + /* Silently discard any markers on the LL channel */ + if (skb->priority == 0xda1a && + (command_name == RMNET_MAP_COMMAND_FLOW_START || + command_name == RMNET_MAP_COMMAND_FLOW_END)) { + if (!rmnet_perf) + consume_skb(skb); + + return 0; + } + switch (command_name) { case RMNET_MAP_COMMAND_FLOW_START: rmnet_map_process_flow_start(skb, port, rmnet_perf);