Index: /branches/rel_apv_10_7/usr/click/lib/libamp_ulog/amp_ulog.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libamp_ulog/amp_ulog.h	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libamp_ulog/amp_ulog.h	(working copy)
@@ -320,6 +320,7 @@
 #define LOG_HTTP_REQ                              0x1
 #define LOG_HTTP_RESP                             0x2
 
+
 #define LOG_HTTP_REQ_OPTIONS                          0x000000000000001
 #define LOG_HTTP_REQ_GET                              0x000000000000002
 #define LOG_HTTP_REQ_HEAD                             0x000000000000004
@@ -328,50 +329,51 @@
 #define LOG_HTTP_REQ_DELETE                           0x000000000000020
 #define LOG_HTTP_REQ_TRACE                            0x000000000000040
 #define LOG_HTTP_REQ_CONNECT                          0x000000000000080
-#define LOG_HTTP_REQ_HDRS_ACCEPT                      0x000000000000100
-#define LOG_HTTP_REQ_HDRS_ACCEPT_CHARSET              0x000000000000200
-#define LOG_HTTP_REQ_HDRS_ACCEPT_ENCODING             0x000000000000400
-#define LOG_HTTP_REQ_HDRS_ACCEPT_LANGUAGE             0x000000000000800
-#define LOG_HTTP_REQ_HDRS_AUTHORIZATION               0x000000000001000
-#define LOG_HTTP_REQ_HDRS_CACHE_CONTROL               0x000000000002000
-#define LOG_HTTP_REQ_HDRS_CONNECTION_CLOSE            0x000000000004000
-#define LOG_HTTP_REQ_HDRS_CONNECTION_KEEPALIVE        0x000000000008000
-#define LOG_HTTP_REQ_HDRS_CONTENT_LENGTH              0x000000000010000
-#define LOG_HTTP_REQ_HDRS_COOKIE                      0x000000000020000
-#define LOG_HTTP_REQ_HDRS_DATE                        0x000000000040000
-#define LOG_HTTP_REQ_HDRS_EXPECT                      0x000000000080000
-#define LOG_HTTP_REQ_HDRS_FROM                        0x000000000100000
-#define LOG_HTTP_REQ_HDRS_HOST                        0x000000000200000
-#define LOG_HTTP_REQ_HDRS_IF_MATCH                    0x000000000400000
-#define LOG_HTTP_REQ_HDRS_IF_MODIFIED_SINCE           0x000000000800000
+#define LOG_HTTP_REQ_PATCH                            0x000000000000100
+#define LOG_HTTP_REQ_HDRS_ACCEPT                      0x000000000000200
+#define LOG_HTTP_REQ_HDRS_ACCEPT_CHARSET              0x000000000000400
+#define LOG_HTTP_REQ_HDRS_ACCEPT_ENCODING             0x000000000000800
+#define LOG_HTTP_REQ_HDRS_ACCEPT_LANGUAGE             0x000000000001000
+#define LOG_HTTP_REQ_HDRS_AUTHORIZATION               0x000000000002000
+#define LOG_HTTP_REQ_HDRS_CACHE_CONTROL               0x000000000004000
+#define LOG_HTTP_REQ_HDRS_CONNECTION_CLOSE            0x000000000008000
+#define LOG_HTTP_REQ_HDRS_CONNECTION_KEEPALIVE        0x000000000010000
+#define LOG_HTTP_REQ_HDRS_CONTENT_LENGTH              0x000000000020000
+#define LOG_HTTP_REQ_HDRS_COOKIE                      0x000000000040000
+#define LOG_HTTP_REQ_HDRS_DATE                        0x000000000080000
+#define LOG_HTTP_REQ_HDRS_EXPECT                      0x000000000100000
+#define LOG_HTTP_REQ_HDRS_FROM                        0x000000000200000
+#define LOG_HTTP_REQ_HDRS_HOST                        0x000000000400000
+#define LOG_HTTP_REQ_HDRS_IF_MATCH                    0x000000000800000
+#define LOG_HTTP_REQ_HDRS_IF_MODIFIED_SINCE           0x000000001000000
 #define LOG_HTTP_REQ_HDRS_IF_NONE_MATCH               0x000000001000000
-#define LOG_HTTP_REQ_HDRS_IF_RANGE                    0x000000002000000
-#define LOG_HTTP_REQ_HDRS_IF_UNMODIFIED_SINCE         0x000000004000000
-#define LOG_HTTP_REQ_HDRS_JSSESSIONID                 0x000000008000000
-#define LOG_HTTP_REQ_HDRS_KEEP_ALIVE                  0x000000010000000
-#define LOG_HTTP_REQ_HDRS_PRAGMA                      0x000000020000000
-#define LOG_HTTP_REQ_HDRS_PROXY_AUTHORIZATION         0x000000040000000
-#define LOG_HTTP_REQ_HDRS_PROXY_CONNECTION            0x000000080000000
-#define LOG_HTTP_REQ_HDRS_RANGE                       0x000000100000000
-#define LOG_HTTP_REQ_HDRS_REFERER                     0x000000200000000
-#define LOG_HTTP_REQ_HDRS_TE                          0x000000400000000
-#define LOG_HTTP_REQ_HDRS_TRAILER                     0x000000800000000
-#define LOG_HTTP_REQ_HDRS_TRANSFER_ENCODING           0x000001000000000
-#define LOG_HTTP_REQ_HDRS_TRANSFER_ENCODING_CHUNKED   0x000002000000000
-#define LOG_HTTP_REQ_HDRS_UPGRADE                     0x000004000000000
-#define LOG_HTTP_REQ_HDRS_USER_AGENT                  0x000008000000000
-#define LOG_HTTP_REQ_HDRS_VIA                         0x000010000000000
-#define LOG_HTTP_REQ_HDRS_X_ACCESS_CONTROL            0x000020000000000
-#define LOG_HTTP_REQ_HDRS_X_BANDWIDTH                 0x000040000000000
-#define LOG_HTTP_REQ_HDRS_X_BEARER                    0x000080000000000
-#define LOG_HTTP_REQ_HDRS_X_FORWARDED_FOR             0x000100000000000
-#define LOG_HTTP_REQ_HDRS_X_MSISDN                    0x000200000000000
-#define LOG_HTTP_REQ_HDRS_X_VODAFONE_ACCESS_CONTROL   0x000400000000000
-#define LOG_HTTP_REQ_HDRS_X_WAP_PROFILE               0x000800000000000
-#define LOG_HTTP_REQ_HDRS_X_WSB_DIALLED               0x001000000000000
-#define LOG_HTTP_REQ_HDRS_X_WSB_MSISDN                0x002000000000000
-#define LOG_HTTP_REQ_HDRS_X_WSB_MSISDN_CONTENT_FILTER 0x004000000000000
-#define LOG_HTTP_REQ_HDRS_CONNECTION_UPGRADE          0x008000000000000
+#define LOG_HTTP_REQ_HDRS_IF_RANGE                    0x000000004000000
+#define LOG_HTTP_REQ_HDRS_IF_UNMODIFIED_SINCE         0x000000008000000
+#define LOG_HTTP_REQ_HDRS_JSSESSIONID                 0x000000010000000
+#define LOG_HTTP_REQ_HDRS_KEEP_ALIVE                  0x000000020000000
+#define LOG_HTTP_REQ_HDRS_PRAGMA                      0x000000040000000
+#define LOG_HTTP_REQ_HDRS_PROXY_AUTHORIZATION         0x000000080000000
+#define LOG_HTTP_REQ_HDRS_PROXY_CONNECTION            0x000000100000000
+#define LOG_HTTP_REQ_HDRS_RANGE                       0x000000200000000
+#define LOG_HTTP_REQ_HDRS_REFERER                     0x000000400000000
+#define LOG_HTTP_REQ_HDRS_TE                          0x000000800000000
+#define LOG_HTTP_REQ_HDRS_TRAILER                     0x000001000000000
+#define LOG_HTTP_REQ_HDRS_TRANSFER_ENCODING           0x000002000000000
+#define LOG_HTTP_REQ_HDRS_TRANSFER_ENCODING_CHUNKED   0x000004000000000
+#define LOG_HTTP_REQ_HDRS_UPGRADE                     0x000008000000000
+#define LOG_HTTP_REQ_HDRS_USER_AGENT                  0x000010000000000
+#define LOG_HTTP_REQ_HDRS_VIA                         0x000020000000000
+#define LOG_HTTP_REQ_HDRS_X_ACCESS_CONTROL            0x000040000000000
+#define LOG_HTTP_REQ_HDRS_X_BANDWIDTH                 0x000080000000000
+#define LOG_HTTP_REQ_HDRS_X_BEARER                    0x000100000000000
+#define LOG_HTTP_REQ_HDRS_X_FORWARDED_FOR             0x000200000000000
+#define LOG_HTTP_REQ_HDRS_X_MSISDN                    0x000400000000000
+#define LOG_HTTP_REQ_HDRS_X_VODAFONE_ACCESS_CONTROL   0x000800000000000
+#define LOG_HTTP_REQ_HDRS_X_WAP_PROFILE               0x001000000000000
+#define LOG_HTTP_REQ_HDRS_X_WSB_DIALLED               0x002000000000000
+#define LOG_HTTP_REQ_HDRS_X_WSB_MSISDN                0x004000000000000
+#define LOG_HTTP_REQ_HDRS_X_WSB_MSISDN_CONTENT_FILTER 0x008000000000000
+#define LOG_HTTP_REQ_HDRS_CONNECTION_UPGRADE          0x010000000000000
 
 /* 
  * these are used to record position of the last parsed hdr in bitmap
Index: /branches/rel_apv_10_7/usr/click/lib/libarray_parsers_http/array_parsers_http.pm
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libarray_parsers_http/array_parsers_http.pm	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libarray_parsers_http/array_parsers_http.pm	(working copy)
@@ -11768,12 +11768,13 @@
 					{ input => "HTTP_PRNCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
 					{ input => "HTTP_EXTCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
 					{ input => "HTTP_ALPHA",       result => "1", },
+					{ input => "a",                result => "112", },
 					{ input => "o",                result => "30", },
 					{ input => "u",                result => "33", },
 	# Bug 10325,10323, panzj, 2005-05-12
 	# add new permit method flags for extension-method # for WebDAV
 					{ input => "r",                result => "40", },
-	# end of 10325, 10323 
+	# end of 10325, 10323
 				],
 			},
 			{
@@ -12704,6 +12705,51 @@
 					{ input => "HTTP_TAB_SPACE",   result => "RDG_OUT_DATA", },
 				],
 			},
+#PATCH
+			{
+				id => "112",
+				default => "1",
+				transitions => [
+					{ input => "HTTP_CTLCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_PRNCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_EXTCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_ALPHA",       result => "1", },
+					{ input => "t",                result => "113", },
+				],
+			},
+			{
+				id => "113",
+				default => "1",
+				transitions => [
+					{ input => "HTTP_CTLCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_PRNCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_EXTCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_ALPHA",       result => "1", },
+					{ input => "c",                result => "114", },
+				],
+			},
+			{
+				id => "114",
+				default => "1",
+				transitions => [
+					{ input => "HTTP_CTLCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_PRNCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_EXTCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_ALPHA",       result => "1", },
+					{ input => "h",                result => "115", },
+				],
+			},
+			{
+				id => "115",
+				default => "1",
+				transitions => [
+					{ input => "HTTP_CTLCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_PRNCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_EXTCHAR",     result => "GLOBAL_HTTP_INVALID_HDR", },
+					{ input => "HTTP_ALPHA",       result => "1", },
+					{ input => "HTTP_TAB_SPACE",   result => "PATCH", },
+				],
+			},
 		],
 	}, # method
 	{
Index: /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.h	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.h	(working copy)
@@ -19,6 +19,7 @@
  */
 
 #define HTTP_LOG_GET_METHOD_STR        "GET"
+#define HTTP_LOG_PATCH_METHOD_STR      "PATCH"
 #define HTTP_LOG_POST_METHOD_STR       "POST"
 #define HTTP_LOG_PUT_METHOD_STR        "PUT"
 #define HTTP_LOG_DELETE_METHOD_STR     "DELETE"
Index: /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/http_log.c	(working copy)
@@ -190,6 +190,8 @@
 	switch (request_type) {
 	case HTTP_METHOD_GET:
 		return (HTTP_LOG_GET_METHOD_STR);
+	case HTTP_METHOD_PATCH:
+		return (HTTP_LOG_PATCH_METHOD_STR);
 	case HTTP_METHOD_POST:
 		return (HTTP_LOG_POST_METHOD_STR);
 	case HTTP_METHOD_PUT:
Index: /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.h
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.h	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.h	(working copy)
@@ -62,6 +62,9 @@
 #define HTTP_PERMIT_METHOD_OPTIONS		0x00000040
 #define HTTP_PERMIT_METHOD_HEAD			0x00000080
 #define HTTP_PERMIT_METHOD_UNSUPPORTED		0x00000100
+#define HTTP_PERMIT_METHOD_PATCH                0x00000200
+
+/* extended methods */
 #define HTTP_PERMIT_METHOD_PROPFIND		0x00001000
 #define HTTP_PERMIT_METHOD_PROPPATCH		0x00002000
 #define HTTP_PERMIT_METHOD_MKCOL		0x00004000
Index: /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser.c	(working copy)
@@ -1399,6 +1399,17 @@
 		}
 		proxy_p->request_type = req_method;
 		break;
+	case HTTP_METHOD_PATCH:
+		SET_HTTP_HDR_BITMAP(http_ulog.hdr_bitmap, LOG_HTTP_REQ_PATCH);
+		if (FALSE == permit_http_method(HTTP_PERMIT_METHOD_PATCH, lip)) {
+			PRX_ERROR_TAG_SET(ERR_METHOD_DENIED);
+			PRX_ERROR_STR_SET(*headers_len);
+			read_write_info_dtor(&read_write);
+                        ulog_error_no_conn(AMP_ULOG_HTTP_PROXY,"tanya: pathch denied");
+			return (HTTP_METHOD_DENIED);
+		}
+		proxy_p->request_type = req_method;
+		break;
 	case HTTP_METHOD_POST:
 		SET_HTTP_HDR_BITMAP(http_ulog.hdr_bitmap, LOG_HTTP_REQ_POST);
 		if (FALSE == permit_http_method(HTTP_PERMIT_METHOD_POST, lip)) {
Index: /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser_utils.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser_utils.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libhttp_proxy/parser_utils.c	(working copy)
@@ -4653,6 +4653,9 @@
 		case HTTP_METHOD_OPTIONS:
 			hp_parser_debug("OPTIONS"); 
 			return token;
+		case HTTP_METHOD_PATCH:
+			hp_parser_debug("PATCH"); 
+			return token;
 		case HTTP_METHOD_POST:
 			hp_parser_debug("POST"); 
 			return token;
Index: /branches/rel_apv_10_7/usr/click/lib/libnatd_cli/natd_cli.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libnatd_cli/natd_cli.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libnatd_cli/natd_cli.c	(working copy)
@@ -381,7 +381,7 @@
 nat_static(char *vip, char *inside_ip, uint32_t timeout, char *gw, char* description) 
 {
 #ifdef VIP_MANAGEMENT_NAT
-	int newvip = 0;
+	int ret;
 #endif
 	struct in_addr vip4;
 	struct in_addr inside_ip4;
@@ -431,11 +431,9 @@
 		return -1;
 	}
 #ifdef VIP_MANAGEMENT_NAT
-	if (get_vip_exist(isipv6, thevip, MVIP_FWD) == 0) {
-		newvip = 1;
-	}
+	ret = find_managed_vip(NULL, MVIP_FWD, (void*)&vip4.s_addr, (void*)&vip6, isipv6);
 	/* bug 13980, tangmeng, 20060911 */
-	if (newvip) {                 /*bug38294,20120827*/
+	if (ret == 0) {                 /*bug38294,20120827*/
 		if (create_managed_vip(NULL, MVIP_FWD, thevip, isipv6) < 0 ) {
 			printf("failed to assign IP to interface\n");
 			return -1;
@@ -445,7 +443,7 @@
 #endif
 	if (nat_static_kern(vip, inside_ip, timeout, gw, description) != 0) {
 #ifdef VIP_MANAGEMENT_NAT
-		if (newvip) {             /*bug38294 ,20120827*/
+		if (ret == 0) {             /*bug38294 ,20120827*/
 			/* bug 13980, tangmeng, 20060911 */
 			delete_managed_vip(NULL, MVIP_FWD, thevip, isipv6);
 			/* bug 13980, end */
@@ -754,6 +752,7 @@
 	{
 #ifdef VIP_MANAGEMENT_NAT
 		void *vip;
+		int ret;
 		struct in_addr vip4;
 		struct in6_addr vip6;
 
@@ -765,10 +764,13 @@
 			vip = &vip4;
 		}
 
-		if (create_managed_vip(NULL, MVIP_FWD, vip, isipv6) < 0 ) 
-		{
-			printf("failed to assign IP to interface\n");
-			return -1;
+		ret = find_managed_vip(NULL, MVIP_FWD, (void*)&vip4.s_addr, (void*)&vip6, isipv6);
+		if (ret == 0) {
+			if (create_managed_vip(NULL, MVIP_FWD, vip, isipv6) < 0 ) 
+			{
+				printf("failed to assign IP to interface\n");
+				return -1;
+			}
 		}
 #endif	
 		return 0;
Index: /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libparser/commands.pm	(working copy)
@@ -34188,7 +34188,7 @@
 		function_name => "http_permit_method",
 		function_args => [ {
 					type => "STRING",
-					help_string => "http method name (get, post, put, delete, trace, connect, options, head, propfind, proppatch, mkcol, copy, move, lock, unlock, purge, rpc_in_data, rpc_out_data, rdg_in_data, rdg_out_data)",
+					help_string => "http method name (get, post, put, delete, trace, connect, patch, options, head, propfind, proppatch, mkcol, copy, move, lock, unlock, purge, rpc_in_data, rpc_out_data, rdg_in_data, rdg_out_data)",
 					optional => "NO",
 				},
 				{
Index: /branches/rel_apv_10_7/usr/click/lib/libwebagent/webagent_log.c
===================================================================
--- /branches/rel_apv_10_7/usr/click/lib/libwebagent/webagent_log.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/click/lib/libwebagent/webagent_log.c	(working copy)
@@ -47,6 +47,8 @@
 	switch (request_type) {
 	case HTTP_METHOD_GET:
 		return (HTTP_LOG_GET_METHOD_STR);
+        case HTTP_METHOD_PATCH:
+                return (HTTP_LOG_PATCH_METHOD_STR);
 	case HTTP_METHOD_POST:
 		return (HTTP_LOG_POST_METHOD_STR);
 	case HTTP_METHOD_PUT:
Index: /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_cli.c
===================================================================
--- /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_cli.c	(revision 37931)
+++ /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_cli.c	(working copy)
@@ -9619,7 +9619,7 @@
 	* for WebDAV
 	*/
 	app_printf(pcb, "[0.0.0.0] %s "
-		   "get post put delete trace connect "
+		   "get patch post put delete trace connect "
 		   "options head propfind proppatch mkcol copy " 
 		   "move lock unlock purge rpc_in_data "
 		   "rpc_out_data rdg_in_data rdg_out_data\n", PERMITTED_METHODS_STR);
@@ -9643,6 +9643,11 @@
 		app_printf(pcb, "get "); 
 	}
 
+        if (FLAG_ISSET(vip_p->method_permit_flags,
+                       HTTP_PERMIT_METHOD_PATCH)) {
+                app_printf(pcb, "patch ");
+        }
+
 	if (FLAG_ISSET(vip_p->method_permit_flags, 
 		       HTTP_PERMIT_METHOD_POST)) {
 		app_printf(pcb, "post ");
@@ -9761,6 +9766,11 @@
 		app_printf(pcb, "get "); 
 	}
 
+        if (!FLAG_ISSET(vip_p->method_permit_flags,
+                        HTTP_PERMIT_METHOD_PATCH)) {
+                app_printf(pcb, "patch ");
+        }
+
 	if (!FLAG_ISSET(vip_p->method_permit_flags, 
 			HTTP_PERMIT_METHOD_POST)) {
 		app_printf(pcb, "post ");
@@ -9882,6 +9892,14 @@
 					*(ptr), *(ptr+1), *(ptr+2), *(ptr+3)); 
 			}
 
+                        if (FLAG_ISSET(http_vip_list[i].method_permit_flags,
+                                        HTTP_PERMIT_METHOD_PATCH)) {
+                                n += sprintf((buff+n),
+                                        "http permit method patch "
+                                        "%u.%u.%u.%u\n",
+                                        *(ptr), *(ptr+1), *(ptr+2), *(ptr+3));
+                        }
+
 			if (FLAG_ISSET(http_vip_list[i].method_permit_flags, 
 					HTTP_PERMIT_METHOD_POST)) {
 				n += sprintf((buff+n), 
@@ -10054,6 +10072,10 @@
 		return HTTP_PERMIT_METHOD_GET;
 	}
 
+        if (0 == strcmp(method, "patch")) {
+                return HTTP_PERMIT_METHOD_PATCH;
+        }
+
 	if (0 == strcmp(method, "post")) {
 		return HTTP_PERMIT_METHOD_POST;
 	}
Index: /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_flags.h
===================================================================
--- /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_flags.h	(revision 37931)
+++ /branches/rel_apv_10_7/usr/src/sys/click/app/proxy/proxy_flags.h	(working copy)
@@ -159,6 +159,7 @@
 #define HTTP_PERMIT_METHOD_OPTIONS		0x040
 #define HTTP_PERMIT_METHOD_HEAD			0x080
 #define HTTP_PERMIT_METHOD_UNSUPPORTED		0x100
+#define HTTP_PERMIT_METHOD_PATCH                0x200
 
 /* Bug 10325,10323, panzj, 2005-05-12
  * add new permit method flags for extension-method
