Application virtualization, IoT and Cloud Computing, Blog of Sacha Thomet

Community

Articles about the Community, mycugc, CTP, etc.

Citrix CVAD and MTU Discovery

Update November 2022:

Martin Latteier wrote me that Citrix introduces a new feature which addresses the issue. Fact is, on certain cable connections with DS-Lite (IPv6 only) the MTU discovery with EDT did not work properly, because the cable modem did not process the “DF flag”, which caused the MTU discovery to detect a too high MTU, the datagrams had to be fragmented and the performance was bad. The solution was to switch off EDT on the client side or to change the MTU discovery to a static MTU (edtMSS=13xx).

If you set this flag the issue should be solved:

Documentation: https://docs.citrix.com/en-us/citrix-gateway/current-release/hdx-enlightened-data-transport-support/pmtud-support-on-citrix-gateway.html

Update January 2022:
Only update the default.ica how it’s described below, referencing to https://support.citrix.com/article/CTX231821 if you also are using Citrix Workspace App for Mac in Version 2201 or later!

Recently I saw an increased number of issues by connecting to Citrix virtual desktops and apps. Desktops were connected from private devices over a Citrix ADC (aka Netscaler) but virtual apps were connected from our internal network from different branch offices.
I wrote a blog article some weeks ago: Issues by accessing Citrix Virtual Apps and Desktops on a pure IPv6 Internet Provider with enabled EDT

Our first workaround for this issue was to disable the UDP based EDT protocol which is now the default for Citrix Virtual Apps and Desktops. But this is not really our intended solution because all the benefits of EDT get lost, so we just did it on client-side with a reg hack, but so we have to identify all the clients with issues. (see the recent blog article)

Further analysis of this issue showed that the root cause of this issue is on the MTU, which means the Maximum Transmission Unit or simplified said Package size.
I found out that our branch offices has a smaller MTU than 1500 what is the default, the reason is a crypto-tunnel which is configured to all our branches. So there will be a fragmentation of the packages, in some cases the fragmentation causes problems because the payload is no more enough that a session launch will work. It looks like EDT is much more sensible on that than the classic ICA protocol on TCP.

Solution 1: How to configure MSS when using EDT on networks with non-standard MTU
In the recent blog article, I called Citrix “please fix that” but they already started on this at this point. In this article, you can see how to configure EDT for non-standard MTUs https://support.citrix.com/article/CTX231821 e.g. put the MTU to 1480 with the default.ica
The disadvantage of this solution is that the MTU is lowered for all connections, also it’s needed to figure out which MTU fits best. The benefit of this solution that it works on every platform with the exception of Android.

Solution 2: enable MTU Discovery
An even smarter option Citrix introduces on the background with CVAD 19.12, this is MTU Discovery for EDT. This feature gives the possibility to have the best MTU for each session. MTU discovery is not a invention by Citrix, just new on EDT. You can read more about MTU discovery here:
https://en.wikipedia.org/wiki/Path_MTU_Discovery

I tried to visualize these 3 scenarios:

standard, MTU set to 1500

Default configuration, MTU to 1500

The default is that MTU of 1500 bytes are sent, if the MTU on the path is somewhere smaller the package gets fragmented, what is not a big issue but in real life we see that it can be a problem.

MTU reduced to 1380 bytes according to the mentioned Citrix article
(Change in default.ica on StoreFront)

Now packaged of 1380 bytes are transmitted.
Is the possible MTU somewhere on the path smaller than 1380, the packages are still fragmented. Example on this picture, the BYOD client from the Internet.
Also, the MTU is lowered when not needed, in this example the Client in the HQ
+ This solution works on all platforms except Android.

MTU with MTU Discovery (Registry Setting on VDA)

MTU Discovery alway use best MTU

+ The MTU is figured out optimal and individually for every session. First, the Session will start with 1024 bytes and the MTU will be increased during the Session.
– Needs Citrix Workspace App for Windows 19.11 or newer.
– If the connection goes over an ADC its a minimum required version 13.0.52.24 or 12.1.56.22. If you are on a lower version the MTU perhaps remains on 1024 bytes!

You can check your EDT MTU with this command:
ctxsession -v

MTU Discovery is today not active as a default, you need to activate it on the VDA with a Registry Key, the VDA must be at minimum 19.12, details here: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/technical-overview/hdx/adaptive-transport.html#edt-mtu-discovery

Update 5.6.2020 – Combine solutions 1 and 2 and have the best config!
For our case, we have separated Storefront Servers for access via ADC, so I decided to implement a solution with the best of both worlds… I set the MTU in the default.ica to 1300 and I enable MTU Discovery – so Apple macOS can use the setting from the default.ica and Windows computers have the optimal value with MTU discovery

Technical:
on VDA, add this DWORD: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd
Name: MtuDiscovery
Type: DWORD
Data: 00000001

default.ica, add this lines:
OutBufLength=1300
udtMSS=1300
edtMSS=1300

If MTU Discovery is active, means enabled and accessed from a Citrix Workplace App the MTU Discovery override the value set in the default.ica, what is very helpful!

How do you configure MTU on your Citrix with EDT environment? Leave a comment!

How I try to help the community as a Citrix CTP

Now it’s already 2,5 years since I was elected as a Citrix Technology Professional. Becoming a CTP was a really big honor for me, but I didn’t write a long blog post about that.
Maybe because I was shocked about the fact I was chosen or I was just afraid because more eyes from the Community and Citrites are looking to me and I fear I’ll not find the right words.

I think now I’m able to write a short retrospective about this time, no I don’t say that because I intend to step back, I’m still happy in this role 🙂 But who knows if I will be active enough to get re-elected.

According to the Citrix Website (https://www.citrix.com/community/ctp) individuals are eligible to be a CTP when they prove their knowledge in Citrix products and invest a lot of time:  “The CTP Program recognizes the contributions of individuals who have invested a significant amount of time and resources to become experts in Citrix products and solutions.

Honestly, after being elected as CTP, I felt a bit under pressure to deliver new blog posts and to speak at conferences. Both are something that I like to do, but it’s only easy when I really have something to show or say. The Health Check automation was something and my early adopter experience with Windows 10, but I think these topics are now more or less stale.  And for the blog posts when I have time to write it down…

The value of being a CTP is that I have access to Beta and EAR sources of the products, having a free pass to Citrix Synergy and the best, direct access to the Product Management. Besides all the CTP goodies, there is also liability and duties. Maybe not all people out there are aware of that. A CTP is not the Extension of the Citrix marketing department! But in my opinion, a CTP should be a communication channel between Citrix and their customers and more from the customer in the direction of Citrix.

To get elected as a CTP is not an easy thing, but also to stay a CTP needs effort! To make the grade for the CTP Program there are multiple possible activities. There are 1-2 online meetings with Product Management which takes about 1 hour. Also, there are two in-person meetings which take 2-3 days each.

So, if you aim to be a CTP, please think that it needs a bunch of spare time to satisfy the needs! I’m doing this partially in my free time and my employer “Die Mobiliar” supports me and gives me time for the in-person meetings. Also, I have support from my wife, my family and my friends and colleagues at Die Mobiliar. At this place THANK YOU!

Besides the CTP Program, I’m also active for the CUGC, on one hand as a local leader here in Switzerland but also in the CUGC Steering Committee. I think this is kind of “double burden” but also there were good synergies to combine these two or three roles.

I sometimes was asked “What can you accomplish as a CTP?” and now I can see that I’m really able to help Citrix and the Community to bring products in better shape to the customer needs. I posted some Feature Requests and those were implemented in the last months. These are only very little features, but for me, the fact that they implemented them was a big thing!

Here are some examples:

  • VDI Battery Indicator:

    this feature was implemented in Virtual Desktops (XenDesktop) 7.18 !
  • Limit Number of Desktops in a Site
    The next feature request I submitted because my SwissCUGC fellow leader Stefan Beckmann (https://www.beckmann.ch / @alphasteff)had an issue with the missing feature in version 7.x of Virtual Apps & Desktops (XenApp/XenDesktop): This is now implemented in version 1808 (former version naming would say 7.19). (If you want to use this feature, this is currently available in command line not in the Studio)
  • StoreFront Logout without closing Browser
    Also, this article describes the impact of a feature request from me: http://blog.sachathomet.ch/2017/01/03/storefront-allowreloginwithoutbrowserclose/
  • And also, the missing Windows 10 disconnect button I repeatedly requested from Product Management – but guess I was not the only one … 🙂 A fix you can find here https://support.citrix.com/article/CTX225970 and I hope soon it will be implemented in the standard VDA

I hope now you have a bit an idea of the role of a Citrix Technology Professional and know that it’s more than just a title like a certification like CCE-V or so. There are a lot of brilliant CTPs, see the full list here: https://www.citrix.com/community/ctp/awardees.html  or follow them on Twitter, Citrix has a complete list: https://twitter.com/citrix/lists/ctps 

Sacha’s blog now also in German

I started my blog in 2013 in English with the idea to reach more readers worldwide. Now I decided to provide my information also in German because I know I have some readers from Germany, Austria and of course my home country Switzerland.

sachathomet goes GitHub

Last 11 days I was in Las Vegas on the CTP meetings, Citrix Synergy and at the E2EVC. I get known a few new people and a bunch of ideas, some about Citrix but also how to continue with my Scripts and the community. (Other blog post will follow, maybe here or on the myCUGC site)

It’s not easy to manage all my Scripts, versions, bugs and feature request so I followed the hint of some people at Synergy and decided to push my larger Scripts to GitHub.
You can see now all my Scripts in GitHub repositories under https://github.com/sacha81 – feel free to contribute!

Currently I have started with my two most popular Scripts:

Please be gentle to me if you are more experienced with GitHub than me, what is for sure if you work already more than 5 days with GitHub…. I’m really not the Software developer so I’m making baby steps with this repository thing. Hint’s are always appreciated.

Please use from now for feature-requests and bug reports the GitHub (issues) and no more the comment function in the blog.

https://github.com/sacha81

An awesome thing happened … I’m now a CTP

2 day’s ago I received a very pleasant email:

“Hello Sacha,
Congratulations! You have been selected to receive the Citrix Technology Professional (CTP) award! We’re thrilled to welcome you to this elite family group of technology experts!”

I’ve done in the last months and years some stuff for the Citrix community with this blog, with the participation on Twitter, Citrix Forums, and other Social media channels and I’m leading together with Stefan Beckmann the Swiss Citrix User Group Community. Also I participated on the development of the 1Y1-401 exam and I won the GeekOvation award 2015. Seem’s my passion for Citrix and contribution on the community get honored.

What is the CTP award?

This program is the highest recognition what a Citrix Expert can get and definitely a milestone in my career.

ctpMore information about the CTP Program you can get here: https://www.citrix.com/community/ctp.html

More about the CTP 2016 class here:
https://www.citrix.com/blogs/2016/02/04/welcome-ctp-class-of-2016 

I’m very thankful to be chosen as a CTP and I’m sure that people surrounding me are jointly responsible for my success!

I want to say THANK YOU!

  • To my Family
  • To my coworkers and my employer Die Mobiliar (a swiss insurance company)
  • To Citrix, especially Perrine Crampton
  • To the CTPs I met last year at the Citrix Synergy on the GeekSpeak-Tonight with the GeekOvation Award, especially Aaron Parker who supported me on my Presentation, but also Carl Webster who supported me later with PoSh stuff and of course Jo Harder, GeekOvation MC (Mistress of Ceremonies), who crowned me 🙂
  • To my current and former coworkers who supported me always to keep my Citrix heart beating
  • To all other which supported me in my doing and I missed here  (Sorry!)

And I won’t forget to congratulate to the other new 2016 CTPs

CTP2016

What next? 

Now I’m really feel obligated to give even more back to the community, of course I will continue to contribute on forums, write more posts on this blog. But I’m pretty sure I will have the chance to hold one or two technical presentations … Good chance to improve my english language … :-S