@@ -546,7 +546,8 @@ impl Stash {
546
546
Ipv4Addr :: UNSPECIFIED . into ( )
547
547
}
548
548
} else if ep == FLOW_METRICS_PEER_SRC {
549
- if flow. flow_metrics_peers [ 0 ] . l3_epc_id > 0 {
549
+ if flow. flow_metrics_peers [ 0 ] . l3_epc_id > 0 || flow. signal_source == SignalSource :: OTel
550
+ {
550
551
flow. flow_metrics_peers [ 0 ] . nat_real_ip
551
552
} else {
552
553
if is_ipv6 {
@@ -556,7 +557,8 @@ impl Stash {
556
557
}
557
558
}
558
559
} else {
559
- if flow. flow_metrics_peers [ 1 ] . l3_epc_id > 0 {
560
+ if flow. flow_metrics_peers [ 1 ] . l3_epc_id > 0 || flow. signal_source == SignalSource :: OTel
561
+ {
560
562
flow. flow_metrics_peers [ 1 ] . nat_real_ip
561
563
} else {
562
564
if is_ipv6 {
@@ -676,17 +678,22 @@ impl Stash {
676
678
}
677
679
} else {
678
680
// After enabling the storage of inactive IP addresses,
679
- // the Internet IP address also needs to be saved as 0
681
+ // the Internet IP address also needs to be saved as 0,
682
+ // except for otel data
680
683
// =======================================
681
- // 开启存储非活跃IP后,Internet IP也需要存0
682
- if flow. flow_metrics_peers [ 0 ] . l3_epc_id <= 0 {
684
+ // 开启存储非活跃IP后,Internet IP也需要存0, otel数据除外
685
+ if flow. flow_metrics_peers [ 0 ] . l3_epc_id <= 0
686
+ && flow. signal_source != SignalSource :: OTel
687
+ {
683
688
src_ip = if is_ipv6 {
684
689
Ipv6Addr :: UNSPECIFIED . into ( )
685
690
} else {
686
691
Ipv4Addr :: UNSPECIFIED . into ( )
687
692
} ;
688
693
}
689
- if flow. flow_metrics_peers [ 1 ] . l3_epc_id <= 0 {
694
+ if flow. flow_metrics_peers [ 1 ] . l3_epc_id <= 0
695
+ && flow. signal_source != SignalSource :: OTel
696
+ {
690
697
dst_ip = if is_ipv6 {
691
698
Ipv6Addr :: UNSPECIFIED . into ( )
692
699
} else {
0 commit comments