net - IP_NODEFRAG option for IPv4 socket
this patch is implementing IP_NODEFRAG option for IPv4 socket. The reason is, there's no other way to send out the packet with user customized header of the reassembly part. Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
01fc3e86c6
commit
7b2ff18ee7
@@ -465,7 +465,7 @@ static int do_ip_setsockopt(struct sock *sk, int level,
|
||||
(1<<IP_MTU_DISCOVER) | (1<<IP_RECVERR) |
|
||||
(1<<IP_ROUTER_ALERT) | (1<<IP_FREEBIND) |
|
||||
(1<<IP_PASSSEC) | (1<<IP_TRANSPARENT) |
|
||||
(1<<IP_MINTTL))) ||
|
||||
(1<<IP_MINTTL) | (1<<IP_NODEFRAG))) ||
|
||||
optname == IP_MULTICAST_TTL ||
|
||||
optname == IP_MULTICAST_ALL ||
|
||||
optname == IP_MULTICAST_LOOP ||
|
||||
@@ -588,6 +588,13 @@ static int do_ip_setsockopt(struct sock *sk, int level,
|
||||
}
|
||||
inet->hdrincl = val ? 1 : 0;
|
||||
break;
|
||||
case IP_NODEFRAG:
|
||||
if (sk->sk_type != SOCK_RAW) {
|
||||
err = -ENOPROTOOPT;
|
||||
break;
|
||||
}
|
||||
inet->nodefrag = val ? 1 : 0;
|
||||
break;
|
||||
case IP_MTU_DISCOVER:
|
||||
if (val < IP_PMTUDISC_DONT || val > IP_PMTUDISC_PROBE)
|
||||
goto e_inval;
|
||||
|
Reference in New Issue
Block a user