def _parse_kexgss_groupreq(self, m):
minbits = m.get_int()<EOL>preferredbits = m.get_int()<EOL>maxbits = m.get_int()<EOL>if preferredbits > self.max_bits:<EOL><INDENT>preferredbits = self.max_bits<EOL><DEDENT>if preferredbits < self.min_bits:<EOL><INDENT>preferredbits = self.min_bits<EOL><DEDENT>if minbits > preferredbits:<EOL><INDENT>minbits = preferredbits<EOL><DEDENT>if maxbits < preferredbits:<EOL><INDENT>maxbits = preferredbits<EOL><DEDENT>self.min_bits = minbits<EOL>self.preferred_bits = preferredbits<EOL>self.max_bits = maxbits<EOL>pack = self.transport._get_modulus_pack()<EOL>if pack is None:<EOL><INDENT>raise SSHException("<STR_LIT>")<EOL><DEDENT>self.transport._log(<EOL>DEBUG,  <EOL>"<STR_LIT>".format(<EOL>minbits, preferredbits, maxbits<EOL>),<EOL>)<EOL>self.g, self.p = pack.get_modulus(minbits, preferredbits, maxbits)<EOL>m = Message()<EOL>m.add_byte(c_MSG_KEXGSS_GROUP)<EOL>m.add_mpint(self.p)<EOL>m.add_mpint(self.g)<EOL>self.transport._send_message(m)<EOL>self.transport._expect_packet(MSG_KEXGSS_INIT)<EOL>
Parse the SSH2_MSG_KEXGSS_GROUPREQ message (server mode).

:param `.Message` m: The content of the
    SSH2_MSG_KEXGSS_GROUPREQ message