CAPWAP channels Path MTU Discovery principles, AP Capwap Path max MTU change

Cisco LWAP in FlexConnect mode uses two Capwap channels:
• CAPWAP control traffic—Identified by UDP port 5246
• CAPWAP 802.11 traffic—Identified by UDP port 5247
For some reason I would need to route user data ( UDP port 5247 ) through other WAN path with lower IP MTU, say 1326B,  different from the WAN path used for Capwap control traffic ( UDP port 5246 ) that has say 1500B MTU.
Seems the process is that the AP finds the IP MTU through the control Capwap channel, sets Capwap Path MTU to 1485B and uses it as a maximum also for the packets routed via UDP port 5247. Because some IP packets sent via UDP port 5247 might be larger, means over 1326B, the AP gets fragmentation needed and DF set unreachable ICMP from the router and sets its Capwap Path MTU to 1325B. After a while the AP sends 1485B IP packet through UDP port 5246 and resets its Capwap Path MTU to 1485B and this repeats.
Correct me if I am wrong and the process works different way. This is what I am reading from Wireshark sniff.
I would like to avoid this and also other potential troubles while having the two separate WAN paths with different MTUs.
Does anyone know how I could
either
Change the initial AP 1485B test packet to something lower, like 1325B. Means the AP would not try IP packets larger than 1325B. I tried to change MTU on BVI interface on the AP, this works, but unfortunately is re-written to default after AP reload.
or
Persuade the AP to use UDP port 5247 for the path MTU discovery process rather than UDP port 5246.
Unfortunately there is no way for me to do this on some other network device between the AP and WAN , like on a switch. It would be optimal, but no way.
Thanks,
Vlad

Johannes, the best approach in most cases where your transport network, due to tunneling constraints, must deliver a small (<1500B) inner IP MTU to its clients, is to use the TCP MSS Adjust feature.
With TCP MSS Adjust, the network hacks the MSS values reported by the TCP endpoints at connection establishment time.  E.g. let's say that the TCP endpoints have an IP MTU of 1500B, and therefore want to use an MSS of 1460 (assuming IP/TCP headers of 40B.)  So each end reports an MSS of 1460 in their TCP SYNs.  But the network changes the MSS fields in these SYNs to, let's say, 1260 instead.  This causes the TCP peers to use an MSS of 1260 (MTU of 1300) for the rest of that connection.
MSS Adjust is in IOS, so a good place to configure it is on the default router for the wireless clients' subnet.  In 6.0, CUWN also supports MSS Adjust - you can configure it on the WLC, and it will push the MSS adjust config out to the APs. 
http://www.cisco.com/en/US/docs/wireless/controller/6.0/configuration/guide/c60lwap.html#wp1111701
Now, TCP MSS Adjust only affects TCP connections, not non-TCP protocols such as UDP.  Those protocols would need to rely upon either IP PMTUD (RFC-1191 etc.), or some protocol-specific discovery mechanism, to avoid IP fragmentation.  Now, CUWN is not going to send a "DF Set but needed to frag" ICMP error to a wireless endpoint, since it's not a router.  You could configure your routers in the vicinity of the wireless clients' network with small MTUs, so that they would generate the needful ICMP errors, so that PMTUD could happen.  But in practice, UDP endpoints rarely need (or take advantage of) PMTUD ... so you should be able to get away with just using TCP MSS Adjust.
Hth,
Aaron

Similar Messages

  • WAN MTU change: impact on applications?

    Has anyone made an in-production MTU change to their WAN?  If so, how have the applications been impacted?
    Our DMVPN (enterprise site-to-site) MTU is currently set to 1400 bytes, and we're looking at dropping it by a few more.  I know that new connections established after the change will figure out the new MTU size using the usual MSS/PMTUD methods.  I'm being asked to estimate the impact on live communications though.  I know that some apps send max-MTU packets with the DF bit set.  Once we change the MTU, I expect the router to drop those packets and send an ICMP error back.  The X factor is how the individual apps will handle that in mid-stream: will they adapt on the fly?  Reset the connection and try again?  Or just sit down and cry until rebooted by a sysadmin?  I recognize that some apps may be different, I'm just looking to get an overall picture.

    Disclaimer
    The    Author of this posting offers the information contained within this    posting without consideration and with the reader's understanding that    there's no  implied or expressed suitability or fitness for any    purpose.  Information provided is for informational purposes only and    should not be construed as rendering professional advice of any kind.     Usage of this posting's information is solely at reader's own risk
    Liability Disclaimer
    In   no event shall Author be liable for any damages whatsoever (including,   without limitation, damages for loss of use, data or profit) arising    out of the use or inability to use the posting's information even if    Author has been advised of the possibility of such damage.
    Posting
    My understanding is, if the source gets the ICMP fragmentation message it will reduce the size of all newly sent packets for that flow.  As far as I know, once packet size is reduced, that flow will never increase the size.
    I also recall older fragmentation left the sender to try various sized packets until fragmentation no longer needed.  I think newer ICMP implementations will also include what the size needs to be reduced to.  If this is correct, the former would cause more of a performance hit until the correct MTU was found.
    From personal experience, I've noticed TCP flows that start up with a too large MTU take a noticable performance hit, at least initially, than starting with a non-fragmenting size (such as can be provided by the ip tcp adjust-mss command).  NB: this observation is from several years ago, although the adjust command is still very, very useful for TCP start up where you expect a MTU size drop (and you can allow for that).
    Flows should adapt. Have had the situation where primary path across dedicated WAN link, normal MTU supported, but fail over was via VPN tunnel, with reduced MTU.
    PS:
    What does cause problems is when source doesn't receive ICMP message.  This is espeically annoying when the MTU only differs by a few bytes, like PPoE or incorrect allowance for MPLS tags.  Most packets get through, some don't.
    Another option is to allow intermediate system to fragment packets, but that can overload the device doing the fragmentation and actually uses extra bandwidth as packet headers are replicated during fragmentation.

  • Path problem during  Change of Original

    Hello,
    I am facing path problem while changing the Original file in a DIR.
    let say i created a DIR x and attached file a.txt from c:\ and  saved the DIR.
    Now if i use cv02 and select a original for change the popup window comes with data carrier and original file path  the path is shown as c:\a.txt which is actual original path.
    if i click on continue it is opening the c:\a.txt files and  changes are done on the original file on my pc.
    This way my original file is changed on pc and in DIR also.
    I want to know how to avoid this?.
    Regards
    Shiv

    That is why they call it document "Management".  The Original File is in the "Vault" where it can be managed, not on the desktop.  If you want to protect/save the file on your desktop, set the flag in the config of the workstation application to not allow "rename" of the temporary file.  You are just attempting to circumvent the intended design of the system. What you should really do is set the flag to "delete" the file after check-in.

  • Communication channels path For testing ?

    For testing communication channels one path is there what is that path ?
    There all adapters are there based on our adapter type we can click that adaper and check weather our communication channel is correct or not? i need that path.

    Hi,
    Yep, You can test & see all the Adapters those are up and running in the following path
    1) goto Integration Builder by opening http://hostname:port/rep
    2) Click on Runtime workbench
    3) Click on Component monitoring
    4) Click on Display
    5) Click on Adapter Engine
    6) Click on Communication channel monitoring
    Here you are able to see all the Communication channels .......and you can check the error or success messages also....
    Regards
    Seshagiri

  • ITunes is missing songs even though the file path hasn't changed.

    My iTunes library is housed on a separate internal hard drive from my osx disk. I have iTunes set up so that it manages my library and copies files to its folder on my extra drive. Recently, and with increasing frequency, iTunes is displaying songs as missing (grey exclamation point) even though the files are still present in their respective folders. This has happened to about 700 songs already, so it's not exactly feasible for me to go through and re-select the path for each one. Is there a quick solution to this? Many thanks!

    Same thing, and it's driving me crazy too! It only happens to my Podcast files though. I haven't done anything special to the file (other than maybe listent to it), but then sometimes the file will get the exclamation point. Then when I click on CTRL-I / Get Info, and it let's me find the file. When I look in the folders, I notice that iTunes has RENAMED the file! What's up?!

  • Dynamic Discovery problem; does not read my dynamicloads changes

    I created a PEI based on IUserProfileActions. I added the appropriate <class name="My.Custom.AssemblyName"/> to the C:\bea\alui\settings\portal\dynamicloads\PEIs\UserProfileActions.xml and dynamic discovery is not picking up the change. I've restarted IIS, rebuilt my VS.Net project, rebooted my machine - ptspy shows 0 instances of UserProfileActions being read. I removed the dll from the bin folder to try and break it, but no go. I've even put junk assembly references into other PEI xml files (CommunityActions.xml), and it doesn't pick those up either. What am I doing wrong??? When I do their HelloWorldLoginActions demo it picks up the change in LoginActions.xml just fine. What gives?

    I have seen something like this when the class name in LoginActions.xml is not the same as the namespace in the code. In our case they were spelled the same just an upper/lower case difference. Nothing was in the ptspy report but the PEI didn't load.

  • 2010 user.lib Path in Executable Changed from 2009 (1abvi3w)

    Our group often uses VI server to control other LabVIEW executables to automated testing. To control VIs through VI server in executables and monitor VIs we need to build the full path we're expecting the VI to be at within the executable.
    For LabVIEW 2009 user.lib VIs the path used to show up as:
    <executable name>.exe\LabVIEW 2009\user.lib\...
    For LabVIEW 2010 user.lib VIs (on Win XP AND Win 7) the path now shows up as:
    <executable name>.exe\1abvi3w\user.lib\...
    This is just an FYI for developers. This really threw a wrench into our VI server calls and are unsure as to why it changed and why its "1abvi3w". Who's the funny guy?
    Seriously though, why did this change and why use a "1" and a "3". Is this an attempt at 1337 speak?
    Solved!
    Go to Solution.

    Paths in built applications are based on the source VI's hierarchy. For files in the LabVIEW directory, the actual LabVIEW directory name was being used in 2009. This was ok except when creating builds across platforms or across machines where LabVIEW was installed in a different location. So for 2010, a unique, constant directory name was chosen.
    George M
    National Instruments

  • MTU Change C7200-I/O-2FE/E

    Anybody knows if the MTU for the FastEthernet interface on the C7200-I/O-2FE/E can be changed ?
    I'm planning on implementing MPLS/VPNs using the FA Port as a MPLS Trunk and I need to change de MTU.

    7204_ZOFR_I#sh ver
    Cisco IOS Software, 7200 Software (C7200-K91P-M), Version 12.2(25)S3, RELEASE SOFTWARE (fc1)
    Technical Support: http://www.cisco.com/techsupport
    Copyright (c) 1986-2005 by Cisco Systems, Inc.
    Compiled Thu 03-Mar-05 17:21 by ccai
    ROM: System Bootstrap, Version 12.2(4r)B2, RELEASE SOFTWARE (fc2)
    BOOTLDR: Cisco IOS Software, 7200 Software (C7200-KBOOT-M), Version 12.2(25)S3, RELEASE SOFTWARE (fc1)
    7204_ZOFR_I uptime is 2 weeks, 5 days, 13 hours, 25 minutes
    System returned to ROM by power-on
    System restarted at 11:06:20 COL Wed Mar 30 2005
    System image file is "disk0:c7200-k91p-mz.122-25.S3.bin"
    This product contains cryptographic features and is subject to United
    States and local country laws governing import, export, transfer and
    use. Delivery of Cisco cryptographic products does not imply
    third-party authority to import, export, distribute or use encryption.
    Importers, exporters, distributors and users are responsible for
    compliance with U.S. and local country laws. By using this product you
    agree to comply with applicable laws and regulations. If you are unable
    to comply with U.S. and local laws, return this product immediately.
    A summary of U.S. laws governing Cisco cryptographic products may be found at:
    http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
    If you require further assistance please contact us by sending email to
    [email protected].
    Cisco 7204VXR (NPE400) processor (revision B) with 114688K/16384K bytes of memory.
    Processor board ID 32824457
    R7000 CPU at 350Mhz, Implementation 39, Rev 3.3, 256KB L2 Cache
    4 slot VXR midplane, Version 2.9
    Last reset from power-on
    2 FastEthernet interfaces
    125K bytes of NVRAM.
    62976K bytes of ATA PCMCIA card at slot 0 (Sector size 512 bytes).
    8192K bytes of Flash internal SIMM (Sector size 256K).
    Configuration register is 0x2102
    7204_ZOFR_I#sh run int fa0/0
    Building configuration...
    Current configuration : 121 bytes
    interface FastEthernet0/1
    ip address 10.85.237.10 255.255.255.240
    duplex auto
    speed auto
    no clns route-cache
    end
    7204_ZOFR_I#conf t
    Enter configuration commands, one per line. End with CNTL/Z.
    7204_ZOFR_I(config)#int fa0/1
    7204_ZOFR_I(config-if)#mtu 2000
    % Interface FastEthernet0/1 does not support user settable mtu.
    hope this helps!!!!!!!!!!

  • The UNC path in link change randomly

    Dear All<o:p></o:p>
    I hope you can help me.<o:p></o:p>
    I've a similar problem<o:p></o:p>
    Excel file with internal links in UNC format<o:p></o:p>
    (ex. \\server\sharename\dir1\dir2\.. )<o:p></o:p>
    Sometimes it happens, when I reopen the excel file, that the path change in:<o:p></o:p>
    \\server\dir1\dir2 ..)<o:p></o:p>
    We correct this link, but after sometimes, this happened again.<o:p></o:p>
    We use Excel Vers. 14.0.7128.5000 (32bit) in MS Office Professional Plus2010, with Windows 7 Professional SP1.<o:p></o:p>
    The server is Windows Server 2003 enterprisex64 Ed, Vers. 5.2, SP2.
    <o:p>Thank you for the support</o:p>
    <o:p>Bye Filippo</o:p>

    it seems that absolute path transfer to relative path.
    some reference:
    http://support.microsoft.com/kb/328440
    http://superuser.com/questions/394270/are-excel-linked-paths-relative-or-absolute

  • CCMP logs path for Supervisor changes

    Hi All,
    Using UCCE and CCMP, recently we observed end users(agents) being moved from one team to another, and found that this can be done by a user with Supervisory rights through CCMP web pages.
    Is there a log/trace i can check to see which supervisor made the changes?
    Do let me know what other information is needed.
    Regards
    Kunal

    Hi Richard,
    In my lab in UCCX 8.5 I can see this in the agent logs. I have them enabled to debug mode,
    Open the Agent.cfg file on the agent computer in the directory C:\Program Files\Cisco\Desktop\Config
    1. Change the debug THRESHOLD from OFF to DEBUG
    [Debug Log]
    Path=..\log\agent.dbg
    Size=3000000
    THRESHOLD=DEBUG
    You will see some files with dbg extension being generated in
    C:\Program Files\Cisco\Desktop\log
    Now when the supervisor attempts a change in an agent state you will see something like this
    2012-01-23 22:38:42:373 DEBUG [0x1ec] FCC_Client_impl.cpp[800] FCC_Client_impl::genericMessage: Begin. destType: Agent, destID: , senderUserType: Supervisor, senderId: , messageType: 0.
    and a little bit further down I see this
    2012-01-23 22:38:42:373 DEBUG [0x14c] AgentStateManager.cpp[1021] CAgentStateManager::OnReceiveChatMessage: ASM1021 Received request from supervisor to change state to AS_READY
    So normally you should be able to see the same in the agent logs in UCCX 7.0
    HTH,
    Christos
    2012-01-23 22:38:42:373 DEBUG [0x14c] AgentStateManager.cpp[1021] CAgentStateManager::OnReceiveChatMessage: ASM1021 Received request from supervisor to change state to AS_READY

  • Retrieve path of OrdURLBuilder changed - can't upgrade to 9.0.3

    Class oracle.ord.html.OrdURLBuilder changed it's retriveve path default value - from "ordPlayMedia.jsp" (9.0.2) to "ordDeliverMedia" (9.0.3).
    It didn't help to rename my jsp page, because "ordDeliverMedia" is without ".jsp"!?!
    I used InterMedia images inside 9.0.2 with no problems. Now I want to upgrade to 9.0.3, but images doesn't display...
    9.0.2:
    <IMG SRC="ordPlayMedia.jsp?appModID=am&rowSetName=Pracovnik12&contentCol=Foto&rowKey=000100000002C103&cache=1032764228000" ALT="Photo">
    9.0.3:
    <IMG SRC="ordDeliverMedia?appModID=am&viewObjectName=Dochazka.Pracovnik12&contentCol=Foto&rowKey=000100000002C103000000A9000000F322F411C4&cache=1032764228000" ALT="Photo">
    I took advantage of setting renderer automatically from attribute domain name (oracle.ord.im.OrdImageDomain). I suppose it is done inside
    DataSourceImpl.getContextFieldRendererClassName().
    I've no idea how to change retreive path - because instantiating OrdURLBuilder is done inside OrdBuildURLRenderer....
    So now it is very problematical for me to upgrade to 9.0.3...
    Can anybody help me?
    Thank you very much for any comment
    Jan Pechanec

    The following is a JDev903 web.xml for BC4J JSP apps. Notice the <servlet> and <servlet-mapping> elements. Please check your web.xml. If you don't see the same settings, that's probably why the default "ordDeliverMedia" didn't work for you. Pls copy/paste these two elements to your web.xml and try again.
    regards,
    Richard
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>Empty web.xml file for Web Application</description>
    <servlet>
    <servlet-name>ordDeliverMedia</servlet-name>
    <servlet-class>oracle.ord.html.OrdPlayMediaServlet</servlet-class>
    <init-param>
    <param-name>releaseMode</param-name>
    <param-value>Stateful</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>ordDeliverMedia</servlet-name>
    <url-pattern>/ordDeliverMedia</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>main.html</welcome-file>
    </welcome-file-list>
    <taglib>
    <taglib-uri>/webapp/DataTags.tld</taglib-uri>
    <taglib-location>/WEB-INF/lib/datatags.jar</taglib-location>
    </taglib>
    </web-ap

  • Trouble trying to replicate GROUP BY/DISTINCT and SUM in PowerPivot with DAX

    I have the following records table (ignore the commas)
    unqPath, Channel, PathLength, UnqPathLength
    8726, direct, 2, 2
    8726, direct, 2, NULL
    8726, organic, 1, 1
    28364, paid, 2, 2
    28364, display, 2, NULL
    287364, email, 4, 4
    287364, email, 4, NULL
    287364, direct, 4, NULL
    287364, email, 4, NULL
    Each record (unqPath) can have multiple channels. For each record I have Path length which is the number of channels associated with that record (this was achieved in SQL doing a count and partitioning it over record name). I have also created another column
    called UnqPathLength where I list the PathLength for each record only once (on the row associated with the 1st channel)
    In PowerPivot, I want to sum the PathLength of all records where a certain channel appears. So direct appears in 2 records which have Path Lengths 2 and 4 respectively so I'd like to have 6 for that.
    I have tried everything from using summarise, distinct but the path length is almost always double counted when the same channel appears twice in the same record. Also tried using unqPathLength (figured this would help with the duplicate counting) but it
    only works when the channel is on the same row and returns incorrect results.
    Here are some of my efforts
    # pathLengthChannel:=
    SUMX(
    SUMMARIZE(
    'query',
    'query'[unqPath],
    'query'[channel],
    'query'[pathLength],
    "pathLengthChannel0",
    SUM('query'[pathLength])
    ),[pathLengthChannel0]
    )OR# pathLengthChannel:=SUMX(
        DISTINCT([unqPath]),
        SUM('query'[pathLength])
    Any ideas would be greatly appreciated. Many thanks.

    This should work assuming that whenever the unqPath and channel are the same that the pathLength is too:
    =SUMX(
    SUMMARIZE(
    query,
    query[unqPath],
    query[Channel],
    "Path",
    MAX(query[PathLength])
    [Path]

  • 7200/7301 MTU issue on Port-Channel

    Hi guys,
    I have an issue with MTU on port-channel :
    When I create a port-channel interface, I can set MTU to 1530 max
    When I configure an interface in this port-channel, I can set port-channel MTU to 9216 max.
    But when I reload, "mtu 9216" command is rejected and port-channel MTU is set to 1500 :
     mtu 9216
            ^
    % Invalid input detected at '^' marker.
    %Interface MTU set to channel-group MTU 1500.
    IOS version is 12.4(25g)
    Thank you so much.

    Hi guys,
    I have an issue with MTU on port-channel :
    When I create a port-channel interface, I can set MTU to 1530 max
    When I configure an interface in this port-channel, I can set port-channel MTU to 9216 max.
    But when I reload, "mtu 9216" command is rejected and port-channel MTU is set to 1500 :
     mtu 9216
            ^
    % Invalid input detected at '^' marker.
    %Interface MTU set to channel-group MTU 1500.
    IOS version is 12.4(25g)
    Thank you so much.

  • Using a variable in communication channel

    Hi,
    I have a lot of Communication Channels looking for files in the same directory. This directory's path will be changed soon and so I assume I'll have to change all my Communication Channels.
    I was wondering whether there was a means of using a variable for the Source Directory in order to just have to change its value where it is defined and not every where it is used...
    Regards
    Yann

    Hi,
    Is this a sender file adapter? or a receiver file adapter?
    You can make a change / make the receiver file adapter's directory dynamic by setting the value during runtime in the mapping.
    Use  this blog and the code in the blog to acheive this,
    /people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
    Sender File adapter, I dont think this is possible.
    Regards,
    Bhavesh

  • Path in the server

    Hi guys...
    I did a change in Visual Administrator to the service of a Comm. Channel, specificly the RFC adapter on the time-out parameter, but a I need to find the file in the server where that change was save.
    Anybody knows the location of this file? I means the path in the server.
    Hector.

    Hi
    Copy paste the following code and see the result
    Here you can see 2 types of open dialogs
    1. Directory View
    2. File View
    Use any one as per your requirement.
    DATA : l_filetable TYPE filetable,
           l_rc TYPE i.
    DATA: l_folder TYPE string,
          l_file TYPE string.
    PARAMETERS: p_folder(100) TYPE c,
                p_file(100) TYPE c.
    *Provide a Dialogue box for getting a folder path
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder.
      CALL METHOD cl_gui_frontend_services=>directory_browse
        EXPORTING
          window_title    = 'Select Folder Path'
          initial_folder  = 'D:\'
        CHANGING
          selected_folder = l_folder.
      p_folder = l_folder.
    *Provide a Dialogue box for getting a file path
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title      = 'Select a Text File'
          initial_directory = l_folder
        CHANGING
          file_table        = l_filetable
          rc                = l_rc.
    Reward points generously
    Regards
    Akshay Chonkar
      READ TABLE l_filetable INTO p_file INDEX 1.
      CHECK sy-subrc <> 0.

Maybe you are looking for