Where are you actually seeing the corrupted cookies? Is this on the server in the logs? If so, could you confirm this is what LTM sends by running a tcpdump on LTM?
I don't see this happening on a 10.0.1HF2 unit using a simple iRule to insert a cookie with or without an = in the value.
when HTTP_REQUEST {
HTTP::cookie insert name rule_cookie1 value rule=value=1
log local0. "\[HTTP::cookie value rule_cookie1\]: [HTTP::cookie value rule_cookie1]"
log local0. "\[HTTP::header values Cookie\]: [HTTP::header values Cookie]"
log local0. "\[HTTP::header value Cookie\]: [HTTP::header value Cookie]"
}
tcpdump showing two Cookie headers in the request send to the pool member.
tcpdump -ni 0.0 -Xs0 host 10.41.0.21
22:01:41.692897 802.1Q vlan4093 P0 10.41.1.2.36480 > 10.41.0.21.http: P 1:229(228) ack 1 win 4380 (DF) out slot1/tmm0 lis=hooleya_https_vs
0x0000 0ffd 0800 4500 010c 058d 4000 ff06 5ff6 ....E.....@..._.
0x0010 0a29 0102 0a29 0015 8e80 0050 e4a4 01b6 .)...).....P....
0x0020 575e 32ad 5018 111c 46bb 0000 4845 4144 W^2.P...F...HEAD
0x0030 202f 2048 5454 502f 312e 310d 0a55 7365 ./.HTTP/1.1..Use
0x0040 722d 4167 656e 743a 2063 7572 6c2f 372e r-Agent:.curl/7.
0x0050 3139 2e36 2028 6936 3836 2d70 632d 6379 19.6.(i686-pc-cy
0x0060 6777 696e 2920 6c69 6263 7572 6c2f 372e gwin).libcurl/7.
0x0070 3139 2e36 204f 7065 6e53 534c 2f30 2e39 19.6.OpenSSL/0.9
0x0080 2e38 6c20 7a6c 6962 2f31 2e32 2e33 206c .8l.zlib/1.2.3.l
0x0090 6962 6964 6e2f 312e 3135 206c 6962 7373 ibidn/1.15.libss
0x00a0 6832 2f31 2e32 0d0a 486f 7374 3a20 3130 h2/1.2..Host:.10
0x00b0 2e34 322e 322e 3130 320d 0a41 6363 6570 .42.2.102..Accep
0x00c0 743a 202a 2f2a 0d0a 436f 6f6b 6965 3a20 t:.*/*..Cookie:.
0x00d0 636c 6965 6e74 5f73 656e 743d 636c 6965 client_sent=clie
0x00e0 6e74 5f76 616c 7565 0d0a 436f 6f6b 6965 nt_value..Cookie
0x00f0 3a20 7275 6c65 5f63 6f6f 6b69 6531 3d72 :.rule_cookie1=r
0x0100 756c 653d 7661 6c75 653d 313b 0d0a 0d0a ule=value=1;....
0x0110 0114 0000 0000 686f 6f6c 6579 615f 6874 ......hooleya_ht
0x0120 7470 735f 7673 tps_vs
This section shows the two Cookie headers. There is a space between Cookie: and client_sent (which is the name of a cookie I had the client send), then the = and client set cookie value. Then a carriage return and line feed to separate this cookie header from the next. On the next cookie line, there is the Cookie header name, a colon, space the cookie name set in the iRule, equals, the cookie value, a semi-colon and a pair of carriage return / line feeds to end the HTTP request.
0x00c0 743a 202a 2f2a 0d0a 436f 6f6b 6965 3a20 t:.*/*..Cookie:.
0x00d0 636c 6965 6e74 5f73 656e 743d 636c 6965 client_sent=clie
0x00e0 6e74 5f76 616c 7565 0d0a 436f 6f6b 6965 nt_value..Cookie
0x00f0 3a20 7275 6c65 5f63 6f6f 6b69 6531 3d72 :.rule_cookie1=r
0x0100 756c 653d 7661 6c75 653d 313b 0d0a 0d0a ule=value=1;....
Aaron