#define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _UAPI__ASM_AVR32_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_SOCKET_H */
 
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_IA64_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_M32R_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    0x4031
 
+#define SO_COOKIE              0x4032
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_POWERPC_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _ASM_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    0x003a
 
+#define SO_COOKIE              0x003b
+
 /* Security levels - as per NRL IPv6 - don't actually do anything */
 #define SO_SECURITY_AUTHENTICATION             0x5001
 #define SO_SECURITY_ENCRYPTION_TRANSPORT       0x5002
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* _XTENSA_SOCKET_H */
 
 
 #define SO_INCOMING_NAPI_ID    56
 
+#define SO_COOKIE              57
+
 #endif /* __ASM_GENERIC_SOCKET_H */
 
 
        union {
                int val;
+               u64 val64;
                struct linger ling;
                struct timeval tm;
        } v;
                break;
 #endif
 
+       case SO_COOKIE:
+               lv = sizeof(u64);
+               if (len < lv)
+                       return -EINVAL;
+               v.val64 = sock_gen_cookie(sk);
+               break;
+
        default:
                /* We implement the SO_SNDLOWAT etc to not be settable
                 * (1003.1g 7).