option to force/prefer IPv6 over IPv4

Open
#85 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
networking

Research direction

Start by tracing where outbound connections are created and how bridge configuration is loaded; the issue names no files or tests. Establish the intended precedence between IPv6 and IPv4, then verify that the selected address family is honored while the default behavior remains unchanged.

Written by the indexing model from the issue text.

Description

Sometimes either IPv6 or IPv4 connection is fucked up, not on hoster's side. This is a today's example:

laura@hakase:~$ traceroute graph.facebook.com -4
traceroute to graph.facebook.com (31.13.81.9), 30 hops max, 60 byte packets
 1  edge01.waw.bgp.wtf (185.236.240.1)  1.028 ms  1.092 ms  1.013 ms
 2  facebook.ip4.epix.net.pl (89.46.145.202)  26.891 ms  26.915 ms  26.898 ms
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
[nothing happens later, just packet loss]

This yet another disaster at EPIX obviously breaks the mautrix-facebook bridge. Of course, one could say that in this situation you should tell your provider to scream at their provider, re-route the traffic to avoid the broken provider, and so on, and they'll be absolutely right! But anyway, I think this kind of situation should also have a quick workaround - an option in the bridge config, like one of these:

prefer_ip_version: 6
prefer_address: inet6
prefer_ipv6: true
Dominant language
Python
Stars
249
Forks
84
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from mautrix/python

All issues in mautrix/python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.