From: John Tobin <ogre@sirinet.net>
To: netdev@oss.sgi.com
Cc: ttimo@idsoftware.com
Subject: UDP Wide Broadcast patch
Date: 18 Aug 2002 13:22:41 -0500 [thread overview]
Message-ID: <1029694978.330.6.camel@ogre> (raw)
[-- Attachment #1: Type: text/plain, Size: 451 bytes --]
Hi,
DocWilco and I came up with this patch for the linux kernel at Quakecon
last night based off of his BSD patch that works around the programming
oversight in Quake 3 that causes packets from the dedicated server to
not broadcast when the +set net_ip option is used on a LAN, it isn't an
issue with internet servers since the send heartbeats to the id master
server. The behavior is off by default and can be turned on using a
sysctl.
John Tobin
[-- Attachment #2: udp_wide_broadcast.patch --]
[-- Type: text/plain, Size: 1889 bytes --]
--- linux/include/linux/sysctl.h.orig 2002-08-17 19:52:27.000000000 -0500
+++ linux/include/linux/sysctl.h 2002-08-17 19:53:00.000000000 -0500
@@ -291,7 +291,8 @@
NET_IPV4_NONLOCAL_BIND=88,
NET_IPV4_ICMP_RATELIMIT=89,
NET_IPV4_ICMP_RATEMASK=90,
- NET_TCP_TW_REUSE=91
+ NET_TCP_TW_REUSE=91,
+ NET_UDP_WIDE_BROADCAST=92
};
enum {
--- linux-modified/net/ipv4/sysctl_net_ipv4.c.orig 2002-08-17 19:48:19.000000000 -0500
+++ linux-modified/net/ipv4/sysctl_net_ipv4.c 2002-08-17 19:52:03.000000000 -0500
@@ -45,6 +45,9 @@
extern int inet_peer_gc_mintime;
extern int inet_peer_gc_maxtime;
+/* From udp.c */
+extern int sysctl_udp_wide_broadcast;
+
#ifdef CONFIG_SYSCTL
static int tcp_retr1_max = 255;
static int ip_local_port_range_min[] = { 1, 1 };
@@ -221,6 +224,8 @@
&sysctl_icmp_ratemask, sizeof(int), 0644, NULL, &proc_dointvec},
{NET_TCP_TW_REUSE, "tcp_tw_reuse",
&sysctl_tcp_tw_reuse, sizeof(int), 0644, NULL, &proc_dointvec},
+ {NET_UDP_WIDE_BROADCAST, "udp_wide_broadcast",
+ &sysctl_udp_wide_broadcast, sizeof(int), 0644, NULL, &proc_dointvec},
{0}
};
--- linux-modified/net/ipv4/udp.c.orig 2002-08-17 19:40:59.000000000 -0500
+++ linux-modified/net/ipv4/udp.c 2002-08-17 23:37:47.000000000 -0500
@@ -94,6 +94,8 @@
#include <net/inet_common.h>
#include <net/checksum.h>
+int sysctl_udp_wide_broadcast = 0;
+
/*
* Snmp MIB for the UDP layer
*/
@@ -272,9 +274,10 @@
if ((s->num != hnum) ||
(s->daddr && s->daddr!=rmt_addr) ||
(s->dport != rmt_port && s->dport != 0) ||
- (s->rcv_saddr && s->rcv_saddr != loc_addr) ||
- (s->bound_dev_if && s->bound_dev_if != dif))
+ !(sysctl_udp_wide_broadcast || !(s->rcv_saddr && s->rcv_saddr != loc_addr)) ||
+ (s->bound_dev_if && s->bound_dev_if != dif)) {
continue;
+ }
break;
}
return s;
[-- Attachment #3: readme.txt --]
[-- Type: text/plain, Size: 729 bytes --]
UDP Wide Broadcast Patch for Kernel 2.4.19
Main purpose is to allow Quake 3 servers, and all games powered by the
engine, to be visible in the server browser when the servers are being run on
aliased IP addresses and multiple NICs using the +set net_ip option.
To apply the patch run "patch -p1 < udp_wide_broadcast.patch" from your
source directory and recompile.
Add "echo "1" > /proc/sys/net/ipv4/udp_wide_broadcast" to one of your startup
scripts, i.e./etc/rc.d/rc.local, and run thousands of servers from your
computer.
Patch by:
Rogier Mulhujzen <linux@bsdchicks.com>
John Tobin <ogre@sirinet.net>
A patch with the same functionality for FreeBSD is available from
http://www.bsdchicks.com/patches
reply other threads:[~2002-08-18 18:22 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1029694978.330.6.camel@ogre \
--to=ogre@sirinet.net \
--cc=netdev@oss.sgi.com \
--cc=ttimo@idsoftware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).