netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next PATCH v6 0/3] net: reserve ports for applications using fixed port numbers
@ 2010-02-27  1:25 Octavian Purdila
  2010-02-27  1:25 ` [net-next PATCH v6 1/3] sysctl: refactor integer handling proc code Octavian Purdila
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Octavian Purdila @ 2010-02-27  1:25 UTC (permalink / raw)
  To: David Miller
  Cc: Octavian Purdila, Linux Kernel Network Developers,
	Linux Kernel Developers, Neil Horman, Eric Dumazet,
	Eric W. Biederman, WANG Cong

This patch introduces /proc/sys/net/ipv4/ip_local_reserved_ports which
allows users to reserve ports for third-party applications.

The reserved ports will not be used by automatic port assignments
(e.g. when calling connect() or bind() with port number 0). Explicit
port allocation behavior is unchanged.

Changes from the previous version:
- be more strict on accepted input (only comma separators, no spaces allowed)
- add to the docs a paragraph about ip_local_port_range and
  ip_local_reserved_ports relationship
- fix a few corner cases with parsing

There are still some miss behaviors with regard to proc parsing in odd
invalid cases (for "40000\0-40001" all is acknowledged but only 40000
is accepted) but they are not easy to fix without changing the current
"acknowledge how much we accepted" behavior.

Because of that and because the same issues are present in the
existing proc_dointvec code as well I don't think its worth holding
the actual feature (port reservation) after such petty error recovery
issues.

For the sake of discussion, I think Eric was right: the model we are
using is messy, we should only accept all input or none. If we can
(ABI implications) and you think its worth switching to this model I
can give it a try in a future patch.

Octavian Purdila (3):
  sysctl: refactor integer handling proc code
  sysctl: add proc_do_large_bitmap
  net: reserve ports for applications using fixed port numbers

 Documentation/networking/ip-sysctl.txt |   31 ++
 drivers/infiniband/core/cma.c          |    7 +-
 include/linux/sysctl.h                 |    2 +
 include/net/ip.h                       |    6 +
 kernel/sysctl.c                        |  504 ++++++++++++++++++++++----------
 net/ipv4/af_inet.c                     |    8 +-
 net/ipv4/inet_connection_sock.c        |    6 +
 net/ipv4/inet_hashtables.c             |    2 +
 net/ipv4/sysctl_net_ipv4.c             |   17 +
 net/ipv4/udp.c                         |    3 +-
 net/sctp/socket.c                      |    2 +
 11 files changed, 431 insertions(+), 157 deletions(-)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-03-10 12:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-27  1:25 [net-next PATCH v6 0/3] net: reserve ports for applications using fixed port numbers Octavian Purdila
2010-02-27  1:25 ` [net-next PATCH v6 1/3] sysctl: refactor integer handling proc code Octavian Purdila
2010-02-27  1:25 ` [net-next PATCH v6 2/3] sysctl: add proc_do_large_bitmap Octavian Purdila
2010-02-27  1:25 ` [net-next PATCH v6 3/3] net: reserve ports for applications using fixed port numbers Octavian Purdila
2010-02-27 11:32 ` [net-next PATCH v6 0/3] " David Miller
2010-03-04  8:31   ` Cong Wang
2010-03-04 19:14     ` Eric W. Biederman
2010-03-04 20:11       ` Octavian Purdila
2010-03-04 21:14         ` Eric W. Biederman
2010-03-10  9:23       ` Cong Wang
2010-03-10 12:42         ` Octavian Purdila
2010-03-01  4:15 ` Cong Wang

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).