NAT64 support

Joel Loeshelle jml5qh at gmail.com
Wed Dec 21 00:44:13 UTC 2016


One other issue I found was with udpsrc. It defaults to using the
unresolved IPv4 address. If you are on a network that is doing NAT64, it
does not work unless you manually specify the unresolved IPv6 address. Is
there a way to make udpsrc automatically choose IPv6 if you are on a NAT64
network?

On Tue, Dec 20, 2016 at 7:16 AM, Joel Loeshelle <jml5qh at gmail.com> wrote:

> I believe using host names will work. However the issue comes in some
> cases where you can't use hostnames for streaming (ex: connecting directly
> to an IP camera) and must instead pass an IPv4 literal. Here is what Apple
> specifies you must do. I tried this with udpsink and I'm having issues
> connecting.
>
> Use System APIs to Synthesize IPv6 Addresses
>
> If your app needs to connect to an IPv4-only server without a DNS
> hostname, use getaddrinfo to resolve the IPv4 address literal. If the
> current network interface doesn’t support IPv4, but supports IPv6, NAT64,
> and DNS64, performing this task will result in a synthesized IPv6 address.
>
> Listing 10-1 shows how to resolve an IPv4 literal using getaddrinfo.
> Assuming you have an IPv4 address stored in memory as four bytes (such as {192,
> 0, 2, 1}), this example code converts it to a string (such as "192.0.2.1"),
> uses getaddrinfo to synthesize an IPv6 address (such as a struct
> sockaddr_in6 containing the IPv6 address "64:ff9b::192.0.2.1") and tries
> to connect to that IPv6 address.
> On Tue, Dec 20, 2016 at 5:35 AM Sebastian Dröge <sebastian at centricular.com>
> wrote:
>
>> On Mon, 2016-12-19 at 18:38 -0800, jml5qh wrote:
>>
>> > Is there any native support for dealing with NAT64 translation? Apple
>>
>> > is
>>
>> > requiring this support in apps:  Apple documentation
>>
>> > <https://developer.apple.com/library/content/documentation/Networking
>>
>> > InternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfo
>>
>> > rtheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html
>>
>> > #//apple_ref/doc/uid/TP40010220-CH213-SW23>
>>
>>
>>
>> What exactly does this require from the application? Just not using any
>>
>> IPv4 addresses directly, but instead using hostnames and IPv6
>>
>> addresses? What exactly does Apple require?
>>
>>
>>
>> Generally this should all work fine already, but there might be usage
>>
>> of (or references to) now "forbidden" APIs nonetheless. Do you know
>>
>> what exactly is a problem?
>>
>>
>>
>> --
>>
>> Sebastian Dröge, Centricular Ltd · http://www.centricular.com____
>> ___________________________________________
>>
>> gstreamer-devel mailing list
>>
>> gstreamer-devel at lists.freedesktop.org
>>
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161220/f36b150b/attachment-0001.html>


More information about the gstreamer-devel mailing list