MCPcopy Create free account
hub / github.com/facebook/time / handlePacket

Method handlePacket

cmd/ziffy/node/receiver_linux.go:106–130  ·  view source on GitHub ↗
(rawPacket gopacket.Packet)

Source from the content-addressed store, hash-verified

104}
105
106func (r *Receiver) handlePacket(rawPacket gopacket.Packet) {
107 defer func() {
108 if !r.decRunningHandlers() {
109 log.Fatal("decRunningHandlers: number of goroutines negative")
110 }
111 }()
112
113 ptpSync, srcIP, srcPort, err := parseSyncPacket(rawPacket)
114 if err != nil {
115 log.Tracef("unable to parse PTP: %v", err)
116 return
117 }
118 if ptpSync.ControlField != ZiffyHexa {
119 log.Trace("no ziffy packet")
120 return
121 }
122
123 log.Debugf("Type=%v, CF=%v, sPort=%v, sPort2=%v, sIP=%v", ptpSync.MessageType().String(),
124 ptpSync.CorrectionField, ptpSync.SourcePortIdentity.PortNumber, srcPort, srcIP)
125
126 if err := r.sendResponse(srcIP, rawPacket); err != nil {
127 log.Tracef("unable to send response: %v", err)
128 return
129 }
130}
131
132// sendResponse sends ICMPTypeTimeExceeded to sender
133func (r *Receiver) sendResponse(sourceIP string, rawPacket gopacket.Packet) error {

Callers 2

TestHandlePacketFunction · 0.95
StartMethod · 0.95

Calls 5

decRunningHandlersMethod · 0.95
sendResponseMethod · 0.95
parseSyncPacketFunction · 0.85
MessageTypeMethod · 0.65
StringMethod · 0.45

Tested by 1

TestHandlePacketFunction · 0.76