UDP Router not working

Description:
I want to expose my Mumble server through Traefik using TCP and UDP routers. The TCP part seems to work fine, but the UDP part doesn't.

Environment:
Traefik 2.9.6 installed through helm
k3s v1.25.0
Metallb v0.13.7

Traefik is installed through helm using the following values:

    deployment:
      kind: DaemonSet
    ingressClass:
      enabled: true
      isDefaultClass: true
    service:
      single: false
      spec:
        externalTrafficPolicy: Local
      annotations:
        metallb.universe.tf/allow-shared-ip: "true"
        metallb.universe.tf/loadBalancerIPs: "192.168.1.241"
    logs:
      access:
        enabled: true
    additionalArguments:
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      - "--entrypoints.mumbletcp.address=:64738"
      - "--entrypoints.mumbleudp.address=:64738/udp"
    ports:
      web:
        redirectTo: websecure
      mumbletcp:
        port: 64738
        expose: true
        exposedPort: 64738
        protocol: TCP
      mumbleudp:
        port: 64738
        expose: true
        exposedPort: 64738
        protocol: UDP

The Mumble setup is as follows:

apiVersion: v1
kind: Namespace
metadata:
  name: mumble
  labels:
    name: mumble
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mumble
  namespace: mumble
  labels:
    app: mumble
spec:
  replicas: 1
  strategy:
      type: Recreate
  selector:
    matchLabels:
      app: mumble
  template:
    metadata:
      labels:
        app: mumble
    spec:
      containers:
        - name: mumble
          image: mumblevoip/mumble-server:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 64738
              name: mumble
              protocol: TCP
            - containerPort: 64738
              name: mumble-udp
              protocol: UDP
          livenessProbe:
            tcpSocket:
              port: 64738
            initialDelaySeconds: 5
            periodSeconds: 900
          resources:
            limits:
              cpu: "2"
              memory: 1Gi
---
apiVersion: v1
kind: Service
metadata:
  name: mumble-tcp
  namespace: mumble
spec:
  ports:
    - name: mumble
      port: 64738
      protocol: TCP
  selector:
    app: mumble
---
apiVersion: v1
kind: Service
metadata:
  name: mumble-udp
  namespace: mumble
spec:
  ports:
    - name: mumble
      port: 64738
      protocol: UDP
  selector:
    app: mumble

The IngressRoute CRDs are defined as follows:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteTCP
metadata:
  name: mumble
  namespace: mumble
spec:
  entryPoints:
    - mumbletcp
  routes:
  - match: HostSNI(`*`)
    services:
    - name: mumble-tcp
      port: mumble
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRouteUDP
metadata:
  name: mumble
  namespace: mumble
spec:
  entryPoints:
    - mumbleudp
  routes:
  - services:
    - name: mumble-udp
      port: mumble

Using this setup, my mumble client seems to be able to connect properly, but I get a message saying

UDP packets cannot be sent to or received from the server. Switching to TCP mode.

Am I doing anything wrong or is this a bug?

Thanks for any help provided!

Thanks for your interest in Traefik!

Currently, Kubernetes does not let you expose a service over TCP and UDP on a same port.

For more information, please see this GitHub issue and this blog post.

Hi @svx and thanks for the quick reply!

After looking at the links you provided, it looks like Kubernetes does support multiple protocols on the same ports, it's just the apply command that is broken. I did encounter this issue, so I just tried again doing a full uninstall and reinstall of both traefik and mumble as suggested in the blog post and I can now get UDP packets sent! Unfortunately, I only receive 1 back and people in the same channel won't hear me talk (nor see my icon "talking").

Any way of troubleshooting this? The access logs in traefik don't seem to include UDP. I also enabled Jaeger tracing to see what I could find, but it also doesn't seem to include TCP/UDP traffic :frowning:

Is is possible Traefik is not forwarding UDP packets from the server to the client?

Thanks again!

Hello @gravufo,

if there is any error during forwarding packets, you should see something in the error log.

Can you set the log level of Treafik to DEBUG and post the logs?

Running in DEBUG will give more information about what is going on :slight_smile:

Hey,

I enabled the debug logs and I do see the connections, but since both TCP and UDP are on the same port, it's impossible to know which is actually being used...I don't see any obvious errors, but it's hard to filter out the logs since it doesn't even mention the entrypoint name...I feel like there are quite some improvements possible on the logging and tracing side in Traefik :stuck_out_tongue:

Here is what it looks like (you can ignore the lines relating to mattermost):

time="2023-01-25T22:25:15Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:20Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:24Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:24Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2307eb229c7105c4:4eaf8e43622eb69f:2307eb229c7105c4:1" tracingProviderName=jaeger
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2307eb229c7105c4:2307eb229c7105c4:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2cee6f7ea8bef93c:741fe1b004b33922:2cee6f7ea8bef93c:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:24 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 775 "ping@internal" "-" 1ms
time="2023-01-25T22:25:24Z" level=debug msg="Reporting span 2cee6f7ea8bef93c:2cee6f7ea8bef93c:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:24 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 776 "ping@internal" "-" 0ms
time="2023-01-25T22:25:25Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:27Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:27Z" level=debug msg="Reporting span 3ec3fd8e1baa84b5:6a067a9c2028f069:3ec3fd8e1baa84b5:1" tracingProviderName=jaeger
time="2023-01-25T22:25:27Z" level=debug msg="Reporting span 3ec3fd8e1baa84b5:3ec3fd8e1baa84b5:0000000000000000:1" tracingProviderName=jaeger
134.238.148.179 - - [25/Jan/2023:22:25:27 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 577 "-" "-" 777 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 7ms
time="2023-01-25T22:25:30Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:32Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:32Z" level=debug msg="Reporting span 116175a47b817b46:572148fc30813731:116175a47b817b46:1" tracingProviderName=jaeger
time="2023-01-25T22:25:32Z" level=debug msg="Reporting span 116175a47b817b46:116175a47b817b46:0000000000000000:1" tracingProviderName=jaeger
147.253.128.6 - - [25/Jan/2023:22:25:32 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 693 "-" "-" 778 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 7ms
time="2023-01-25T22:25:34Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:34Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 0acf1f16e4079347:76abf63537395e07:0acf1f16e4079347:1" tracingProviderName=jaeger
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 7d45ef61571186cb:6af24dfb06eff611:7d45ef61571186cb:1" tracingProviderName=jaeger
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 0acf1f16e4079347:0acf1f16e4079347:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:34 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 779 "ping@internal" "-" 2ms
time="2023-01-25T22:25:34Z" level=debug msg="Reporting span 7d45ef61571186cb:7d45ef61571186cb:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:34 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 780 "ping@internal" "-" 3ms
time="2023-01-25T22:25:35Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:40Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:41Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:41Z" level=debug msg="Reporting span 66df0defbf0eac5d:52d1c012e93f5fd5:66df0defbf0eac5d:1" tracingProviderName=jaeger
time="2023-01-25T22:25:41Z" level=debug msg="Reporting span 66df0defbf0eac5d:66df0defbf0eac5d:0000000000000000:1" tracingProviderName=jaeger
192.222.150.248 - - [25/Jan/2023:22:25:41 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 469 "-" "-" 781 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 5ms
time="2023-01-25T22:25:44Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:44Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6305684a7dc097a0:37fb4022e93b4f43:6305684a7dc097a0:1" tracingProviderName=jaeger
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6305684a7dc097a0:6305684a7dc097a0:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6c8bf3e797542214:69d09942ae6e0c28:6c8bf3e797542214:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:44 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 783 "ping@internal" "-" 0ms
time="2023-01-25T22:25:44Z" level=debug msg="Reporting span 6c8bf3e797542214:6c8bf3e797542214:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:44 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 782 "ping@internal" "-" 0ms
time="2023-01-25T22:25:45Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:47Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:47Z" level=debug msg="Reporting span 4e7ebe45c2a8c89a:1f38d34e35f1daa5:4e7ebe45c2a8c89a:1" tracingProviderName=jaeger
time="2023-01-25T22:25:47Z" level=debug msg="Reporting span 4e7ebe45c2a8c89a:4e7ebe45c2a8c89a:0000000000000000:1" tracingProviderName=jaeger
198.16.145.131 - - [25/Jan/2023:22:25:47 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 551 "-" "-" 784 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 6ms
time="2023-01-25T22:25:48Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 3389342f996b0cbb:6912594c6762fe8e:3389342f996b0cbb:1" tracingProviderName=jaeger
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 3389342f996b0cbb:3389342f996b0cbb:0000000000000000:1" tracingProviderName=jaeger
192.168.1.164 - - [25/Jan/2023:22:25:48 +0000] "OPTIONS /api/v4/users/status/ids HTTP/2.0" 404 261 "-" "-" 785 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:25:48Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 0af59f62b7e22ac5:7b206dadb3d2f040:0af59f62b7e22ac5:1" tracingProviderName=jaeger
time="2023-01-25T22:25:48Z" level=debug msg="Reporting span 0af59f62b7e22ac5:0af59f62b7e22ac5:0000000000000000:1" tracingProviderName=jaeger
192.168.1.164 - - [25/Jan/2023:22:25:48 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 464 "-" "-" 786 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 3ms
time="2023-01-25T22:25:50Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:25:54Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:25:54Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 760692fae01b28e6:710b7644c0a3a374:760692fae01b28e6:1" tracingProviderName=jaeger
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 760692fae01b28e6:760692fae01b28e6:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:54 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 787 "ping@internal" "-" 1ms
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 6f47c402e4895a69:7b6fde0fc9b06d80:6f47c402e4895a69:1" tracingProviderName=jaeger
time="2023-01-25T22:25:54Z" level=debug msg="Reporting span 6f47c402e4895a69:6f47c402e4895a69:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:25:54 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 788 "ping@internal" "-" 1ms
time="2023-01-25T22:25:55Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:00Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:02Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:02Z" level=debug msg="Reporting span 629dfca96515038a:2f70282e214841f5:629dfca96515038a:1" tracingProviderName=jaeger
time="2023-01-25T22:26:02Z" level=debug msg="Reporting span 629dfca96515038a:629dfca96515038a:0000000000000000:1" tracingProviderName=jaeger
198.16.166.156 - - [25/Jan/2023:22:26:02 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 577 "-" "-" 789 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 8ms
time="2023-01-25T22:26:04Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:04Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 2f87d8883eeca024:1f7f75732c636b95:2f87d8883eeca024:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 25dfa4940ef70313:53ffa9111ce20f5d:25dfa4940ef70313:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 25dfa4940ef70313:25dfa4940ef70313:0000000000000000:1" tracingProviderName=jaeger
time="2023-01-25T22:26:04Z" level=debug msg="Reporting span 2f87d8883eeca024:2f87d8883eeca024:0000000000000000:1" tracingProviderName=jaeger
10.42.0.1 - - [25/Jan/2023:22:26:04 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 790 "ping@internal" "-" 1ms
10.42.0.1 - - [25/Jan/2023:22:26:04 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 791 "ping@internal" "-" 1ms
time="2023-01-25T22:26:05Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"
time="2023-01-25T22:26:06Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:06Z" level=debug msg="Reporting span 50ddbf692fb9debd:3d5f7b9c026f5b96:50ddbf692fb9debd:1" tracingProviderName=jaeger
time="2023-01-25T22:26:06Z" level=debug msg="Reporting span 50ddbf692fb9debd:50ddbf692fb9debd:0000000000000000:1" tracingProviderName=jaeger
192.168.1.12 - - [25/Jan/2023:22:26:06 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 1232 "-" "-" 792 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:26:08Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 6cc527520d582457:19d3e11104729b78:6cc527520d582457:1" tracingProviderName=jaeger
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 6cc527520d582457:6cc527520d582457:0000000000000000:1" tracingProviderName=jaeger
209.15.185.46 - - [25/Jan/2023:22:26:08 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 634 "-" "-" 793 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 10ms
time="2023-01-25T22:26:08Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 5435b483b179a6a0:0ef7d85b8bac6aa9:5435b483b179a6a0:1" tracingProviderName=jaeger
time="2023-01-25T22:26:08Z" level=debug msg="Reporting span 5435b483b179a6a0:5435b483b179a6a0:0000000000000000:1" tracingProviderName=jaeger
134.238.145.166 - - [25/Jan/2023:22:26:08 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 722 "-" "-" 794 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 6ms
time="2023-01-25T22:26:09Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:09Z" level=debug msg="Reporting span 1ead256d94236482:0af59d6b83d1c7c7:1ead256d94236482:1" tracingProviderName=jaeger
time="2023-01-25T22:26:09Z" level=debug msg="Reporting span 1ead256d94236482:1ead256d94236482:0000000000000000:1" tracingProviderName=jaeger
205.193.218.61 - - [25/Jan/2023:22:26:09 +0000] "POST /api/v4/users/status/ids HTTP/1.1" 200 543 "-" "-" 795 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 4ms
time="2023-01-25T22:26:10Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareType=TracingEntryPoint middlewareName=tracing
time="2023-01-25T22:26:10Z" level=debug msg="Reporting span 20a6d0c21cfecea4:36c45ab62fc551ae:20a6d0c21cfecea4:1" tracingProviderName=jaeger
time="2023-01-25T22:26:10Z" level=debug msg="Reporting span 20a6d0c21cfecea4:20a6d0c21cfecea4:0000000000000000:1" tracingProviderName=jaeger
74.56.143.149 - - [25/Jan/2023:22:26:10 +0000] "POST /api/v4/users/status/ids HTTP/2.0" 200 664 "-" "-" 796 "mattermost-chat-6613ba599d7c9f66e712@kubernetescrd" "http://10.42.0.253:8065" 13ms
time="2023-01-25T22:26:10Z" level=debug msg="Handling connection from 192.168.1.12:64856 to 10.42.2.244:64738"

We can see multiple entries mentioning "Handling connection from...to...". My guess is these are all TCP connections.

I'm also getting the following:

traefik-bqg8q time="2023-01-25T22:24:01Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint

I guess that's when it tries to send traces to Jaeger, but fails since it's a TCP/UDP entrypoint rather than a typical HTTP entrypoint and it's not yet supported?

Thanks again for your continued help!

Hello @gravufo,

I enabled the debug logs and I do see the connections, but since both TCP and UDP are on the same port, it's impossible to know which is actually being used...I don't see any obvious errors, but it's hard to filter out the logs since it doesn't even mention the entrypoint name...I feel like there are quite some improvements possible on the logging and tracing side in Traefik :stuck_out_tongue:

Indeed, for debug logs within the TCP and the UDP proxy, there are no differences.
Thus, for errors, the wording should be different and should help to distinguish if the error happened with TCP or UDP.

Nonetheless, the extract of the logs you shared is not showing any error.

We can see multiple entries mentioning "Handling connection from...to...". My guess is these are all TCP connections.

Well, no, it could be UDP too.

I'm also getting the following:
traefik-bqg8q time="2023-01-25T22:24:01Z" level=debug msg="Failed to extract the context: opentracing: SpanContext not found in Extract carrier" middlewareName=tracing middlewareType=TracingEntryPoint

This could be ignored here. Tracing is only for HTTP.

I guess that's when it tries to send traces to Jaeger, but fails since it's a TCP/UDP entrypoint rather than a typical HTTP entrypoint and it's not yet supported?

Today, there are no access logs or tracing for TCP/UDP, so indeed this is not helping in your situation.

FYI, we addressed the missing information in the logs for the UDP and TCP proxy: Differentiate UDP stream and TCP connection in logs by rtribotte · Pull Request #9687 · traefik/traefik · GitHub.
Thanks for reporting this :+1:

1 Like

Hey,
Thanks for getting back to me!

Well, no, it could be UDP too.

I agree, but the data I have from my mumble client points to it being TCP :stuck_out_tongue:

FYI, we addressed the missing information in the logs for the UDP and TCP proxy: Differentiate UDP stream and TCP connection in logs by rtribotte · Pull Request #9687 · traefik/traefik · GitHub.
Thanks for reporting this :+1:

Thanks!! Really good news! I will update as soon as it is released so we can get more insight.