perf: Id928dd67396e1d2d3ba4cf442df9206bce79321c
Update to Id928dd67396e1d2d3ba4cf442df9206bce79321c CRs-Fixed: 3504482 Change-Id: Id928dd67396e1d2d3ba4cf442df9206bce79321c Signed-off-by: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
This commit is contained in:
@@ -19,13 +19,13 @@
|
|||||||
#include "rmnet_perf_tcp.h"
|
#include "rmnet_perf_tcp.h"
|
||||||
#include "rmnet_perf_udp.h"
|
#include "rmnet_perf_udp.h"
|
||||||
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
|
||||||
"\x35\x64\x63\x64\x64\x34\x63\x30","\x34\x63\x39\x62\x35\x33\x33\x37",
|
"\x63\x65\x37\x39\x33\x32\x31\x63","\x35\x64\x63\x64\x64\x34\x63\x30",
|
||||||
"\x61\x33\x62\x61\x62\x64\x34\x30","\x37\x66\x30\x37\x38\x66\x39\x36",
|
"\x34\x63\x39\x62\x35\x33\x33\x37","\x61\x33\x62\x61\x62\x64\x34\x30",
|
||||||
"\x65\x35\x36\x63\x62\x35\x35\x64","\x65\x32\x31\x38\x66\x34\x35\x31",
|
"\x37\x66\x30\x37\x38\x66\x39\x36","\x65\x35\x36\x63\x62\x35\x35\x64",
|
||||||
"\x33\x39\x63\x62\x64\x37\x64\x35","\x37\x34\x31\x35\x39\x32\x31\x63",
|
"\x65\x32\x31\x38\x66\x34\x35\x31","\x33\x39\x63\x62\x64\x37\x64\x35",
|
||||||
"\x34\x64\x65\x34\x39\x64\x62\x35","\x62\x31\x63\x34\x34\x62\x34\x63"};
|
"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x64\x65\x34\x39\x64\x62\x35",
|
||||||
module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
|
"\x62\x31\x63\x34\x34\x62\x34\x63"};module_param_array(verinfo,charp,NULL,
|
||||||
verinfo,
|
(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
|
||||||
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
"\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
|
||||||
);static bool DATARMNETc03b668e4c=true;module_param_named(rmnet_perf_knob0,
|
);static bool DATARMNETc03b668e4c=true;module_param_named(rmnet_perf_knob0,
|
||||||
DATARMNETc03b668e4c,bool,(0xdb7+6665-0x261c));static bool DATARMNET21c7a3c377=
|
DATARMNETc03b668e4c,bool,(0xdb7+6665-0x261c));static bool DATARMNET21c7a3c377=
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0-only
|
// SPDX-License-Identifier: GPL-2.0-only
|
||||||
/* Copyright (c) 2023,Qualcomm Innovation Center, Inc. All rights reserved.
|
/* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* RMNET PERF TCP framework
|
* RMNET PERF TCP framework
|
||||||
*
|
*
|
||||||
@@ -144,31 +144,39 @@ DATARMNET668416551c=tcp_hdr(DATARMNET543491eb0f);return DATARMNET543491eb0f->len
|
|||||||
DATARMNET63b1a086d5,struct sk_buff*DATARMNET543491eb0f,bool DATARMNETd147c14c0e)
|
DATARMNET63b1a086d5,struct sk_buff*DATARMNET543491eb0f,bool DATARMNETd147c14c0e)
|
||||||
__must_hold(RCU){struct rmnet_skb_cb*DATARMNET1ec4882bf7=RMNET_SKB_CB(
|
__must_hold(RCU){struct rmnet_skb_cb*DATARMNET1ec4882bf7=RMNET_SKB_CB(
|
||||||
DATARMNET543491eb0f);struct tcphdr*DATARMNET668416551c=tcp_hdr(
|
DATARMNET543491eb0f);struct tcphdr*DATARMNET668416551c=tcp_hdr(
|
||||||
DATARMNET543491eb0f);u32 DATARMNETb1b0ee1b2d=ntohl(DATARMNET668416551c->ack_seq)
|
DATARMNET543491eb0f);u32 DATARMNET26945497d8=ntohl(DATARMNET668416551c->seq);u32
|
||||||
;u32 DATARMNETb6ff6d25f8=READ_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7);u32
|
DATARMNETb1b0ee1b2d=ntohl(DATARMNET668416551c->ack_seq);u32 DATARMNETb6ff6d25f8
|
||||||
DATARMNET91c1d5c029=READ_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab);u32
|
=READ_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7);u32 DATARMNET91c1d5c029=
|
||||||
DATARMNET9445bc443c=READ_ONCE(DATARMNET63b1a086d5->DATARMNET9a57846b4e);
|
READ_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab);u32 DATARMNET9445bc443c=
|
||||||
DATARMNET63b1a086d5->DATARMNET763f2e5fac=jiffies;if(DATARMNET63b1a086d5->
|
READ_ONCE(DATARMNET63b1a086d5->DATARMNET9a57846b4e);DATARMNET63b1a086d5->
|
||||||
DATARMNET55056146f6){DATARMNET1ec4882bf7->tethered=true;return;}if(
|
DATARMNET763f2e5fac=jiffies;if(DATARMNET63b1a086d5->DATARMNET55056146f6){
|
||||||
DATARMNETd147c14c0e){if(after(DATARMNETb1b0ee1b2d,DATARMNET91c1d5c029)){u32
|
DATARMNET1ec4882bf7->tethered=true;return;}if(DATARMNETd147c14c0e){if(after(
|
||||||
DATARMNET4e557c82d6=DATARMNETb6ff6d25f8-DATARMNETb1b0ee1b2d;if(
|
DATARMNETb1b0ee1b2d,DATARMNET91c1d5c029)){u32 DATARMNET4e557c82d6=
|
||||||
DATARMNET4e557c82d6>DATARMNET9445bc443c)DATARMNET31a7673e56(DATARMNET63b1a086d5,
|
DATARMNETb6ff6d25f8-DATARMNETb1b0ee1b2d;if(DATARMNET4e557c82d6>
|
||||||
DATARMNET543491eb0f);WRITE_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab,
|
DATARMNET9445bc443c)DATARMNET31a7673e56(DATARMNET63b1a086d5,DATARMNET543491eb0f)
|
||||||
DATARMNETb1b0ee1b2d);}}}void DATARMNET9250714999(struct sk_buff*
|
;WRITE_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab,DATARMNETb1b0ee1b2d);}}else
|
||||||
DATARMNET543491eb0f){struct DATARMNET4b40fe9cd4 DATARMNET3396919a68={};struct
|
{u32 DATARMNET4e557c82d6=DATARMNETb6ff6d25f8-DATARMNET91c1d5c029;if(after(
|
||||||
DATARMNETddbc1e5435*DATARMNET63b1a086d5;struct tcphdr*DATARMNET668416551c;u32
|
DATARMNET26945497d8,DATARMNETb6ff6d25f8)){DATARMNET4e557c82d6=
|
||||||
DATARMNETd660a1a629;if(!skb_transport_header_was_set(DATARMNET543491eb0f)||
|
DATARMNET26945497d8-DATARMNET91c1d5c029;DATARMNET4e557c82d6+=DATARMNET62fb576113
|
||||||
DATARMNET543491eb0f->ip_summed==CHECKSUM_NONE)return;DATARMNET668416551c=tcp_hdr
|
(DATARMNET543491eb0f);WRITE_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7,
|
||||||
(DATARMNET543491eb0f);if(DATARMNET668416551c->syn)return;DATARMNETd660a1a629=
|
DATARMNET26945497d8);}DATARMNET1ec4882bf7->bif=DATARMNET4e557c82d6;
|
||||||
DATARMNET62fb576113(DATARMNET543491eb0f);if(!DATARMNETd660a1a629&&
|
DATARMNET1ec4882bf7->ack_thresh=DATARMNET9445bc443c;DATARMNET1ec4882bf7->
|
||||||
DATARMNET668416551c->ack)return;DATARMNET3396919a68.DATARMNET08e913477e=
|
ack_forced=DATARMNET63b1a086d5->DATARMNETb8fc35ed64;}}void DATARMNET9250714999(
|
||||||
DATARMNET668416551c->source;DATARMNET3396919a68.DATARMNETda7f7fa492=
|
struct sk_buff*DATARMNET543491eb0f){struct DATARMNET4b40fe9cd4
|
||||||
DATARMNET668416551c->dest;if(DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){
|
DATARMNET3396919a68={};struct DATARMNETddbc1e5435*DATARMNET63b1a086d5;struct
|
||||||
struct iphdr*DATARMNET86f1f2cdc9=ip_hdr(DATARMNET543491eb0f);DATARMNET3396919a68
|
tcphdr*DATARMNET668416551c;u32 DATARMNETd660a1a629;if(!
|
||||||
.DATARMNETdfe430c2d6=DATARMNET86f1f2cdc9->saddr;DATARMNET3396919a68.
|
skb_transport_header_was_set(DATARMNET543491eb0f)||DATARMNET543491eb0f->
|
||||||
DATARMNET2cb607d686=DATARMNET86f1f2cdc9->daddr;DATARMNET3396919a68.
|
ip_summed==CHECKSUM_NONE)return;DATARMNET668416551c=tcp_hdr(DATARMNET543491eb0f)
|
||||||
DATARMNET0d956cc77a=(0xd11+230-0xdf3);}else{struct ipv6hdr*DATARMNETbf55123e5b=
|
;if(DATARMNET668416551c->syn)return;DATARMNETd660a1a629=DATARMNET62fb576113(
|
||||||
ipv6_hdr(DATARMNET543491eb0f);memcpy(&DATARMNET3396919a68.DATARMNET815cbb4bf5,&
|
DATARMNET543491eb0f);if(!DATARMNETd660a1a629&&DATARMNET668416551c->ack)return;
|
||||||
|
DATARMNET3396919a68.DATARMNET08e913477e=DATARMNET668416551c->source;
|
||||||
|
DATARMNET3396919a68.DATARMNETda7f7fa492=DATARMNET668416551c->dest;if(
|
||||||
|
DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9
|
||||||
|
=ip_hdr(DATARMNET543491eb0f);DATARMNET3396919a68.DATARMNETdfe430c2d6=
|
||||||
|
DATARMNET86f1f2cdc9->saddr;DATARMNET3396919a68.DATARMNET2cb607d686=
|
||||||
|
DATARMNET86f1f2cdc9->daddr;DATARMNET3396919a68.DATARMNET0d956cc77a=
|
||||||
|
(0xd11+230-0xdf3);}else{struct ipv6hdr*DATARMNETbf55123e5b=ipv6_hdr(
|
||||||
|
DATARMNET543491eb0f);memcpy(&DATARMNET3396919a68.DATARMNET815cbb4bf5,&
|
||||||
DATARMNETbf55123e5b->saddr,sizeof(DATARMNETbf55123e5b->saddr));memcpy(&
|
DATARMNETbf55123e5b->saddr,sizeof(DATARMNETbf55123e5b->saddr));memcpy(&
|
||||||
DATARMNET3396919a68.DATARMNETc3f31215b7,&DATARMNETbf55123e5b->daddr,sizeof(
|
DATARMNET3396919a68.DATARMNETc3f31215b7,&DATARMNETbf55123e5b->daddr,sizeof(
|
||||||
DATARMNETbf55123e5b->daddr));DATARMNET3396919a68.DATARMNET0d956cc77a=
|
DATARMNETbf55123e5b->daddr));DATARMNET3396919a68.DATARMNET0d956cc77a=
|
||||||
|
Reference in New Issue
Block a user