Loading net/rmnet_data/rmnet_data_handlers.c +13 −14 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ static rx_handler_result_t rmnet_ingress_deliver_packet(struct sk_buff *skb, * @config: Physical endpoint configuration for the ingress device * * Most MAP ingress functions are processed here. Packets are processed * individually; aggregates packets should use rmnet_map_ingress_handler() * individually; aggregated packets should use rmnet_map_ingress_handler() * * Return: * - RX_HANDLER_CONSUMED if packet is dropped Loading @@ -287,6 +287,18 @@ static rx_handler_result_t _rmnet_map_ingress_handler(struct sk_buff *skb, uint16_t len; int ckresult; if (RMNET_MAP_GET_CD_BIT(skb)) { if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP_COMMANDS) return rmnet_map_command(skb, config); LOGM("MAP command packet on %s; %s", skb->dev->name, "Not configured for MAP commands"); rmnet_kfree_skb(skb, RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPC); return RX_HANDLER_CONSUMED; } mux_id = RMNET_MAP_GET_MUX_ID(skb); len = RMNET_MAP_GET_LENGTH(skb) - RMNET_MAP_GET_PAD(skb) Loading Loading @@ -495,20 +507,7 @@ rx_handler_result_t rmnet_ingress_handler(struct sk_buff *skb) } if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP) { if (RMNET_MAP_GET_CD_BIT(skb)) { if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP_COMMANDS) { rc = rmnet_map_command(skb, config); } else { LOGM("MAP command packet on %s; %s", dev->name, "Not configured for MAP commands"); rmnet_kfree_skb(skb, RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPC); return RX_HANDLER_CONSUMED; } } else { rc = rmnet_map_ingress_handler(skb, config); } } else { switch (ntohs(skb->protocol)) { case ETH_P_MAP: Loading net/rmnet_data/rmnet_map_data.c +1 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ struct sk_buff *rmnet_map_deaggregate(struct sk_buff *skb, /* Sanity check */ ip_byte = (skbn->data[4]) & 0xF0; if (ip_byte != 0x40 && ip_byte != 0x60) { if (!RMNET_MAP_GET_CD_BIT(skbn) && ip_byte != 0x40 && ip_byte != 0x60) { LOGM("Unknown IP type: 0x%02X", ip_byte); rmnet_kfree_skb(skbn, RMNET_STATS_SKBFREE_DEAGG_UNKOWN_IP_TYP); return 0; Loading Loading
net/rmnet_data/rmnet_data_handlers.c +13 −14 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ static rx_handler_result_t rmnet_ingress_deliver_packet(struct sk_buff *skb, * @config: Physical endpoint configuration for the ingress device * * Most MAP ingress functions are processed here. Packets are processed * individually; aggregates packets should use rmnet_map_ingress_handler() * individually; aggregated packets should use rmnet_map_ingress_handler() * * Return: * - RX_HANDLER_CONSUMED if packet is dropped Loading @@ -287,6 +287,18 @@ static rx_handler_result_t _rmnet_map_ingress_handler(struct sk_buff *skb, uint16_t len; int ckresult; if (RMNET_MAP_GET_CD_BIT(skb)) { if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP_COMMANDS) return rmnet_map_command(skb, config); LOGM("MAP command packet on %s; %s", skb->dev->name, "Not configured for MAP commands"); rmnet_kfree_skb(skb, RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPC); return RX_HANDLER_CONSUMED; } mux_id = RMNET_MAP_GET_MUX_ID(skb); len = RMNET_MAP_GET_LENGTH(skb) - RMNET_MAP_GET_PAD(skb) Loading Loading @@ -495,20 +507,7 @@ rx_handler_result_t rmnet_ingress_handler(struct sk_buff *skb) } if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP) { if (RMNET_MAP_GET_CD_BIT(skb)) { if (config->ingress_data_format & RMNET_INGRESS_FORMAT_MAP_COMMANDS) { rc = rmnet_map_command(skb, config); } else { LOGM("MAP command packet on %s; %s", dev->name, "Not configured for MAP commands"); rmnet_kfree_skb(skb, RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPC); return RX_HANDLER_CONSUMED; } } else { rc = rmnet_map_ingress_handler(skb, config); } } else { switch (ntohs(skb->protocol)) { case ETH_P_MAP: Loading
net/rmnet_data/rmnet_map_data.c +1 −1 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ struct sk_buff *rmnet_map_deaggregate(struct sk_buff *skb, /* Sanity check */ ip_byte = (skbn->data[4]) & 0xF0; if (ip_byte != 0x40 && ip_byte != 0x60) { if (!RMNET_MAP_GET_CD_BIT(skbn) && ip_byte != 0x40 && ip_byte != 0x60) { LOGM("Unknown IP type: 0x%02X", ip_byte); rmnet_kfree_skb(skbn, RMNET_STATS_SKBFREE_DEAGG_UNKOWN_IP_TYP); return 0; Loading