1
0
Fork 0
forked from nuttx/nuttx-update

Update TODO; Cosmetic changes to comments

This commit is contained in:
Gregory Nutt 2014-11-17 15:34:50 -06:00
parent 2275045b26
commit 8b2b7afdae
3 changed files with 40 additions and 12 deletions

24
TODO
View file

@ -15,7 +15,7 @@ nuttx/
(8) Kernel/Protected Builds
(4) C++ Support
(6) Binary loaders (binfmt/)
(11) Network (net/, drivers/net)
(12) Network (net/, drivers/net)
(4) USB (drivers/usbdev, drivers/usbhost)
(10) Libraries (libc/, )
(11) File system/Generic drivers (fs/, drivers/)
@ -829,6 +829,28 @@ o Network (net/, drivers/net)
Priority: Medium. Important on slow applications that will not accept
connections promptly.
Title: PER DEVICE PORT NUMBERS
Description: TCP and UDP ports numbers are assigned as separater but global resources.
Separate meaning that a UDP and TCP socket with the same port number are
distinct. But global in the since that each TCP port number must be unique
and TCP sockets. UDP port numbers must be similarly unique.
This causes prorblems for the case where there multiple network devices
configured into the system. In that case, it should be possible to assign
the same TCP (or UDP) port number if the connection is associated with
different network devices. For example, if there are two instances of
a webserver, each listening for connections on a different device, each
should be able to use port 80 to listen for connections.
The solution is is move the TCP and UDP port related resources: They
should not be global but shoud, instead, by a part of the device structure,
struct net_drivers_s.
Status: Open
Priority: Very low if you have only a single network interface. Higher if you
have more than one. Very high if you need to have the same port numbers
on each network served by the device.
o USB (drivers/usbdev, drivers/usbhost)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -166,7 +166,7 @@ FAR struct net_driver_s *netdev_findbyaddr(const net_ipaddr_t addr)
/* No.. The address lies on an external network */
#ifdef CONFIG_NET_ROUTE
/* If we have a routing table, then perhaps we can find the the local
/* If we have a routing table, then perhaps we can find the local
* address of a router that can forward packets to the external network.
*/
@ -202,6 +202,7 @@ FAR struct net_driver_s *netdev_findbyaddr(const net_ipaddr_t addr)
{
dev = g_netdevices;
}
netdev_semgive();
/* If we will did not find the network device, then we might as well fail

View file

@ -129,7 +129,7 @@ static FAR struct udp_conn_s *udp_find_conn(uint16_t portno)
{
if (g_udp_connections[ i ].lport == portno)
{
return &g_udp_connections[ i ];
return &g_udp_connections[i];
}
}
@ -365,7 +365,7 @@ FAR struct udp_conn_s *udp_nextconn(FAR struct udp_conn_s *conn)
* Name: udp_bind()
*
* Description:
* This function implements the UIP specific parts of the standard UDP
* This function implements the low level parts of the standard UDP
* bind() operation.
*
* Assumptions:
@ -397,7 +397,7 @@ int udp_bind(FAR struct udp_conn_s *conn, FAR const struct sockaddr_in *addr)
flags = net_lock();
/* Is any other UDP connection bound to this port? */
/* Is any other UDP connection already bound to this port? */
if (!udp_find_conn(addr->sin_port))
{
@ -417,14 +417,19 @@ int udp_bind(FAR struct udp_conn_s *conn, FAR const struct sockaddr_in *addr)
* Name: udp_connect()
*
* Description:
* This function sets up a new UDP connection. The function will
* automatically allocate an unused local port for the new
* connection. However, another port can be chosen by using the
* udp_bind() call, after the udp_connect() function has been
* called.
* This function simply assigns a remote address to UDP "connection"
* structure. This function is called as part of the implementation of:
*
* This function is called as part of the implementation of sendto
* and recvfrom.
* - connect(). If connect() is called for a SOCK_DGRAM socket, then
* this logic performs the moral equivalent of connec() operation
* for the UDP socket.
* - recvfrom() and sendto(). This function is called to set the
* remote address of the peer.
*
* The function will automatically allocate an unused local port for the
* new connection if the socket is not yet bound to a local address.
* However, another port can be chosen by using the udp_bind() call,
* after the udp_connect() function has been called.
*
* Input Parameters:
* conn - A reference to UDP connection structure