Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
aef22e5b
Commit
aef22e5b
authored
Jan 28, 2004
by
David Stevens
Committed by
Patrick McHardy
Jan 28, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[IPV4]: Add per-device sysctl to force IGMP version.
parent
6e22ce74
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
5 deletions
+20
-5
include/linux/inetdevice.h
include/linux/inetdevice.h
+1
-0
include/linux/sysctl.h
include/linux/sysctl.h
+1
-0
net/ipv4/devinet.c
net/ipv4/devinet.c
+10
-1
net/ipv4/igmp.c
net/ipv4/igmp.c
+8
-4
No files found.
include/linux/inetdevice.h
View file @
aef22e5b
...
...
@@ -21,6 +21,7 @@ struct ipv4_devconf
int
medium_id
;
int
no_xfrm
;
int
no_policy
;
int
force_igmp_version
;
void
*
sysctl
;
};
...
...
include/linux/sysctl.h
View file @
aef22e5b
...
...
@@ -360,6 +360,7 @@ enum
NET_IPV4_CONF_MEDIUM_ID
=
14
,
NET_IPV4_CONF_NOXFRM
=
15
,
NET_IPV4_CONF_NOPOLICY
=
16
,
NET_IPV4_CONF_FORCE_IGMP_VERSION
=
17
,
};
/* /proc/sys/net/ipv4/netfilter */
...
...
net/ipv4/devinet.c
View file @
aef22e5b
...
...
@@ -1132,7 +1132,7 @@ int ipv4_doint_and_flush_strategy(ctl_table *table, int *name, int nlen,
static
struct
devinet_sysctl_table
{
struct
ctl_table_header
*
sysctl_header
;
ctl_table
devinet_vars
[
1
7
];
ctl_table
devinet_vars
[
1
8
];
ctl_table
devinet_dev
[
2
];
ctl_table
devinet_conf_dir
[
2
];
ctl_table
devinet_proto_dir
[
2
];
...
...
@@ -1269,6 +1269,15 @@ static struct devinet_sysctl_table {
.
proc_handler
=
&
ipv4_doint_and_flush
,
.
strategy
=
&
ipv4_doint_and_flush_strategy
,
},
{
.
ctl_name
=
NET_IPV4_CONF_FORCE_IGMP_VERSION
,
.
procname
=
"force_igmp_version"
,
.
data
=
&
ipv4_devconf
.
force_igmp_version
,
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
proc_handler
=
&
ipv4_doint_and_flush
,
.
strategy
=
&
ipv4_doint_and_flush_strategy
,
},
},
.
devinet_dev
=
{
{
...
...
net/ipv4/igmp.c
View file @
aef22e5b
...
...
@@ -126,10 +126,14 @@
* contradict to specs provided this delay is small enough.
*/
#define IGMP_V1_SEEN(in_dev) ((in_dev)->mr_v1_seen && \
time_before(jiffies, (in_dev)->mr_v1_seen))
#define IGMP_V2_SEEN(in_dev) ((in_dev)->mr_v2_seen && \
time_before(jiffies, (in_dev)->mr_v2_seen))
#define IGMP_V1_SEEN(in_dev) (ipv4_devconf.force_igmp_version == 1 || \
(in_dev)->cnf.force_igmp_version == 1 || \
((in_dev)->mr_v1_seen && \
time_before(jiffies, (in_dev)->mr_v1_seen)))
#define IGMP_V2_SEEN(in_dev) (ipv4_devconf.force_igmp_version == 2 || \
(in_dev)->cnf.force_igmp_version == 2 || \
((in_dev)->mr_v2_seen && \
time_before(jiffies, (in_dev)->mr_v2_seen)))
static
void
igmpv3_add_delrec
(
struct
in_device
*
in_dev
,
struct
ip_mc_list
*
im
);
static
void
igmpv3_del_delrec
(
struct
in_device
*
in_dev
,
__u32
multiaddr
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment