This is an automated email from the ASF dual-hosted git repository.

liuhan pushed a commit to branch reduce-handle-connect-time
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git


The following commit(s) were added to refs/heads/reduce-handle-connect-time by 
this push:
     new cc38da3  enable conntrack
cc38da3 is described below

commit cc38da3705f2d253284aef9ff71ab85050182a7d
Author: mrproliu <[email protected]>
AuthorDate: Sat Dec 28 22:27:27 2024 +0800

    enable conntrack
---
 pkg/tools/ip/conntrack.go | 48 ++++++++++++++---------------------------------
 1 file changed, 14 insertions(+), 34 deletions(-)

diff --git a/pkg/tools/ip/conntrack.go b/pkg/tools/ip/conntrack.go
index e793650..243f219 100644
--- a/pkg/tools/ip/conntrack.go
+++ b/pkg/tools/ip/conntrack.go
@@ -118,47 +118,27 @@ func (c *ConnTrack) monitor0(ctx context.Context) (<-chan 
error, error) {
        err = c.monitorClient.RegisterFiltered(ctx, conntrack.Conntrack, 
conntrack.NetlinkCtNew,
                []conntrack.ConnAttr{
                        {Type: conntrack.AttrOrigPortDst, Data: []byte{0x0, 
0x35}, Mask: []byte{0xff, 0xff}, Negate: true}, // DstPort != 53
-               }, func(c conntrack.Con) int {
-                       if c.Origin == nil || c.Reply == nil || c.Origin.Proto 
== nil || c.Reply.Proto == nil ||
-                               c.Origin.Src == nil || c.Origin.Dst == nil || 
c.Origin.Proto.SrcPort == nil || c.Origin.Proto.DstPort == nil ||
-                               c.Reply.Src == nil || c.Reply.Dst == nil || 
c.Reply.Proto.SrcPort == nil || c.Reply.Proto.DstPort == nil {
+               }, func(con conntrack.Con) int {
+                       if con.Origin == nil || con.Reply == nil || 
con.Origin.Proto == nil || con.Reply.Proto == nil ||
+                               con.Origin.Src == nil || con.Origin.Dst == nil 
|| con.Origin.Proto.SrcPort == nil || con.Origin.Proto.DstPort == nil ||
+                               con.Reply.Src == nil || con.Reply.Dst == nil || 
con.Reply.Proto.SrcPort == nil || con.Reply.Proto.DstPort == nil {
                                return 0
                        }
-                       log.Infof("conntrack event: %s:%d -> %s:%d, reply: 
%s:%d -> %s:%d",
-                               c.Origin.Src.String(), *c.Origin.Proto.SrcPort, 
c.Reply.Src.String(), *c.Reply.Proto.SrcPort,
-                               c.Reply.Dst.String(), *c.Reply.Proto.DstPort, 
c.Origin.Dst.String(), *c.Origin.Proto.DstPort)
+
+                       c.monitorExpire.Set(conntrackExpireKey{
+                               sourceIP:   con.Origin.Src.String(),
+                               destIP:     con.Origin.Dst.String(),
+                               sourcePort: *con.Origin.Proto.SrcPort,
+                               destPort:   *con.Origin.Proto.DstPort,
+                       }, conntrackExpireValue{
+                               realIP:   con.Reply.Src.String(),
+                               realPort: *con.Reply.Proto.SrcPort,
+                       }, monitorExpireTime)
                        return 0
                })
        if err != nil {
                return nil, err
        }
-
-       //// is not the first monitoring, then return(no need re monitoring the 
channel)
-       //if !isFirstMonitoring {
-       //      return errChan, nil
-       //}
-       //go func() {
-       //      for {
-       //              select {
-       //              case <-ctx.Done():
-       //                      return
-       //              case e := <-c.eventChain:
-       //                      if e.Flow.TupleOrig.Proto.DestinationPort == 53 
{
-       //                              continue
-       //                      }
-       //                      c.monitorExpire.Set(conntrackExpireKey{
-       //                              sourceIP:   
e.Flow.TupleOrig.IP.SourceAddress.String(),
-       //                              destIP:     
e.Flow.TupleOrig.IP.DestinationAddress.String(),
-       //                              sourcePort: 
e.Flow.TupleOrig.Proto.SourcePort,
-       //                              destPort:   
e.Flow.TupleOrig.Proto.DestinationPort,
-       //                      }, conntrackExpireValue{
-       //                              realIP:   
e.Flow.TupleReply.IP.SourceAddress.String(),
-       //                              realPort: 
e.Flow.TupleReply.Proto.SourcePort,
-       //                      }, monitorExpireTime)
-       //              }
-       //      }
-       //}()
-
        return errChan, nil
 }
 

Reply via email to