#define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _UAPI__ASM_AVR32_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_SOCKET_H */
 
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_IA64_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_M32R_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       0x402C
 #define SO_ATTACH_REUSEPORT_EBPF       0x402D
 
+#define SO_CNX_ADVICE          0x402E
+
 #endif /* _UAPI_ASM_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_POWERPC_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _ASM_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       0x0035
 #define SO_ATTACH_REUSEPORT_EBPF       0x0036
 
+#define SO_CNX_ADVICE          0x0037
+
 /* Security levels - as per NRL IPv6 - don't actually do anything */
 #define SO_SECURITY_AUTHENTICATION             0x5001
 #define SO_SECURITY_ENCRYPTION_TRANSPORT       0x5002
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* _XTENSA_SOCKET_H */
 
 #define SO_ATTACH_REUSEPORT_CBPF       51
 #define SO_ATTACH_REUSEPORT_EBPF       52
 
+#define SO_CNX_ADVICE          53
+
 #endif /* __ASM_GENERIC_SOCKET_H */
 
                sk->sk_incoming_cpu = val;
                break;
 
+       case SO_CNX_ADVICE:
+               if (val == 1)
+                       dst_negative_advice(sk);
+               break;
        default:
                ret = -ENOPROTOOPT;
                break;