/* should work fine */
                case IP_FREEBIND:
                case IP_TRANSPARENT:
+               case IP_BIND_ADDRESS_NO_PORT:
+               case IP_LOCAL_PORT_RANGE:
 
                /* the following are control cmsg related */
                case IP_PKTINFO:
                /* common stuff that need some love */
                case IP_TOS:
                case IP_TTL:
-               case IP_BIND_ADDRESS_NO_PORT:
                case IP_MTU_DISCOVER:
                case IP_RECVERR:
 
                inet_assign_bit(TRANSPARENT, ssk,
                                inet_test_bit(TRANSPARENT, sk));
                break;
+       case IP_BIND_ADDRESS_NO_PORT:
+               inet_assign_bit(BIND_ADDRESS_NO_PORT, ssk,
+                               inet_test_bit(BIND_ADDRESS_NO_PORT, sk));
+               break;
+       case IP_LOCAL_PORT_RANGE:
+               WRITE_ONCE(inet_sk(ssk)->local_port_range,
+                          READ_ONCE(inet_sk(sk)->local_port_range));
+               break;
        default:
                release_sock(sk);
                WARN_ON_ONCE(1);
        switch (optname) {
        case IP_FREEBIND:
        case IP_TRANSPARENT:
+       case IP_BIND_ADDRESS_NO_PORT:
+       case IP_LOCAL_PORT_RANGE:
                return mptcp_setsockopt_sol_ip_set(msk, optname, optval, optlen);
        case IP_TOS:
                return mptcp_setsockopt_v4_set_tos(msk, optname, optval, optlen);
        switch (optname) {
        case IP_TOS:
                return mptcp_put_int_option(msk, optval, optlen, READ_ONCE(inet_sk(sk)->tos));
+       case IP_BIND_ADDRESS_NO_PORT:
+               return mptcp_put_int_option(msk, optval, optlen,
+                               inet_test_bit(BIND_ADDRESS_NO_PORT, sk));
+       case IP_LOCAL_PORT_RANGE:
+               return mptcp_put_int_option(msk, optval, optlen,
+                               READ_ONCE(inet_sk(sk)->local_port_range));
        }
 
        return -EOPNOTSUPP;
 
        inet_assign_bit(TRANSPARENT, ssk, inet_test_bit(TRANSPARENT, sk));
        inet_assign_bit(FREEBIND, ssk, inet_test_bit(FREEBIND, sk));
+       inet_assign_bit(BIND_ADDRESS_NO_PORT, ssk, inet_test_bit(BIND_ADDRESS_NO_PORT, sk));
+       WRITE_ONCE(inet_sk(ssk)->local_port_range, READ_ONCE(inet_sk(sk)->local_port_range));
 }
 
 void mptcp_sockopt_sync_locked(struct mptcp_sock *msk, struct sock *ssk)