- return send_request(c, "%d %s %d %lx", ACK, myport, c->estimated_weight, c->options);
+ /* Check some options */
+
+ if((get_config_bool(lookup_config(c->config_tree, "IndirectData"), &choice) && choice) || myself->options & OPTION_INDIRECT) {
+ c->options |= OPTION_INDIRECT;
+ }
+
+ if((get_config_bool(lookup_config(c->config_tree, "TCPOnly"), &choice) && choice) || myself->options & OPTION_TCPONLY) {
+ c->options |= OPTION_TCPONLY | OPTION_INDIRECT;
+ }
+
+ if(myself->options & OPTION_PMTU_DISCOVERY && !(c->options & OPTION_TCPONLY)) {
+ c->options |= OPTION_PMTU_DISCOVERY;
+ }
+
+ choice = myself->options & OPTION_CLAMP_MSS;
+ get_config_bool(lookup_config(c->config_tree, "ClampMSS"), &choice);
+
+ if(choice) {
+ c->options |= OPTION_CLAMP_MSS;
+ }
+
+ get_config_int(lookup_config(c->config_tree, "Weight"), &c->estimated_weight);
+
+ return send_request(c, "%d %s %d %x", ACK, myport, c->estimated_weight, c->options);