Commit Graph

165 Commits

Author SHA1 Message Date
chao.an
9cb17841d8 net/sockopt: move BINDTODEVICE to socket level
rename the UDP_BINDTODEVICE to SO_BINDTODEVICE to follow the linux
style to be compatible with non-UDP protocol binding requirements

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-25 17:56:52 +08:00
Xiang Xiao
463f321316 wireless/ieee802154: Don't set IFF_DOWN in mac802154netdev_register
since IFF_DOWN is only used for request, not for status. Instead,
IFF_UP should be used to query the netdev status. The IFF_DOWN
related macros are also removed to avoid the confuse.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-19 11:09:16 +03:00
zhanghongyu
c7c5c75451 net_if: add IFF_LOOPBACK/POINTOPOINT/MULTICAST/BROADCAST
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-07-03 09:57:10 -04:00
JacobCrabill
4610aee973 net/netdev: Add CONFIG_NETDEV_CAN_FILTER_IOCTL 2022-05-06 08:54:58 +02:00
Xiang Xiao
1cd935fece net: Add lifr_ifindex field to struct lifreq
to ensure union lifr_ifru start at the same offset of union ifr_ifru

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-21 11:01:33 -03:00
Xiang Xiao
20f5a28e49 net: Add if_nameindex and if_freenameindex API
Specified here:
https://man7.org/linux/man-pages/man3/if_nameindex.3.html

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia5daed775bd11fa5978d54860632554da8f7b416
2021-06-26 22:37:12 +01:00
Gregory Nutt
7332d2decf net/: Add missing packet filtering checks
NuttX provides the UDP_BINDTODEVICE socket option.  This is a UDP protocol-specific implementation of the semi-standard Linux SO_BINDTODEVICE socket option:  "SO_BINDTODEVICE forces packets on the socket to only egress the bound interface, regardless of what the IP routing table would normally choose. Similarly only packets which ingress the bound interface will be received on the socket, packets from other interfaces will not be delivered to the socket." https://codingrelic.geekhold.com/2009/10/code-snippet-sobindtodevice.html

If CONFIG_NET_UDP_BINDTODEVICE is selected and a UDP socket is bound to the device, then unrecognized packets UDP packets must not be dropped, but must be forwarded along to the bound socket unconditionally.

It the typical case, this should have no impact.  It does effect the applications that use DHCP and do select the UDP_BINDTODEVICE socket option.

This PR replace existing improper logic in the code and also the improper attempts to fix problems from PR #3601 and PR #3598.  Those changes are improper because they expose DHCP appliction dependencies in the OS, breaking modularity and independence of the OS and application.

Tested with stm32f4discovery:netnsh with CONFIG_NET_UDP_BINDTODEVICE.  A proper DHCP test setup is needed, however.
2021-04-29 12:47:02 +08:00
chao.an
db8e498e4f net/if: remove the macro expansion of the public structure
This is a compatibility issue if different structures included
in the usrsock server/client scene, usrsock client has no habit
of actively choosing of config CONFIG_NETDEV_IFINDEX at most of the time

Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-23 00:29:20 -07:00
Alin Jerpelea
9b9be7e1f0 include: Author: Gregory Nutt: update licenses to Apache 2.0
Update files from Gregory Nutt to Apache 2.0 license.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-04 03:33:58 -08:00
Alin Jerpelea
861c0071bd include: nuttx: fix nxstyle errors
Fix nxstyle errors to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-04 03:33:58 -08:00
Peter van der Perk
b5c5948e1c NXStyle fixes 2020-06-15 08:07:19 -06:00
Peter van der Perk
55d9e5f7af net: Add SocketCAN support 2020-06-15 08:07:19 -06:00
Xiang Xiao
cde88cabcc Run codespell -w with the latest dictonary again
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-02-23 22:27:46 +01:00
Xiang Xiao
c1b0aa118c Remove psock_send and sockfd_socket from net/socket/socket.h
Since both is already declared in include/nuttx/net/net.h and fix other minor issue in network socket layer.
2020-01-31 13:45:15 -06:00
Xiang Xiao
80277d1630
Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
chao.an
eb63227559 include/net, include/nuttx/fs, include/nuttx/wireless: Make wireless definitions more consistent with Linux. 2019-12-13 08:20:07 -06:00
Gregory Nutt
bda0a9c6a7 net/netlink: Fix offset in rtattr. include/net/route.h: Correct form and naming of sruct rtentry. include/netpacket/netlink.h: Add some definitions that will be needed to access routing tables. 2019-11-10 12:35:15 -06:00
Gregory Nutt
732bef73a7 include/net/if.h: Fix some macro definitions overlooked in commit d105dc9b5e. Also corrects the name of a structure: mii_ioctl_notify_s vs mii_iotcl_notify_s. 2019-01-27 16:43:42 -06:00
Xiang Xiao
d105dc9b5e drivers/net/phy_notify.c and all network drivers that support PHY notifications: Support the signal notification through SIGEV_THREAD 2019-01-27 08:57:23 -06:00
Anthony Merlino
1b18f10bee Merged in antmerlino/nuttx/net-if-externC-fix (pull request #740)
Adds extern "C" guard in include/net/if.h

Approved-by: GregoryN <gnutt@nuttx.org>
2018-10-27 18:13:02 +00:00
dongjianli
b48804cfc2 net/netdev/netdev_ioctl.c: Add si_ioctl callback and net_ioctl_arglen so usrsock could forward the ioctl to the remote end 2018-08-26 14:54:26 -06:00
Gregory Nutt
c65e1aa3df Squashed commit of the following:
syscalls/:  Add syscall support for if_nametoindex() and if_indextoname()
    net/: Update some comments.
2018-06-25 12:41:28 -06:00
Gregory Nutt
7c1394d814 Squashed commit of the following:
net/netdev:  Add implementation of if_nametoindex() and if indextoname().
    net/pkt:  Raw AF_PACKET sockets now depend on CONFIG_NETDEV_IFINDEX.
    net/procfs:  Tweak to handle traversal of interfaces if CONFIG_NETDEV_IFINDEX is not defined.
    net/netdev.h:  Update netdev_findbyaddr() to use the assigned device index.
    Trivial typo fix
    net/netdev:  Add support for assigned an interface index to a device when it is regisgtered.
2018-06-25 12:08:10 -06:00
Gregory Nutt
b54ffe858a Standardization of some function headers. 2018-03-13 09:52:27 -06:00
Gregory Nutt
7af976c00a Squashed commit of the following:
Networking:  Add implementation of logic for SIOCGIFCONF and SIOCGLIFCOF IOCTL commnds.
    Networking:  Add definitions and stuctures to support SIOCGIFCONF and SIOCGLIFCONF IOCTL commands.
2017-09-19 14:17:05 -06:00
Gregory Nutt
d7c90ae71b Update and move ieee802154.h socket header file. Fix some comments in net/pkt. 2017-08-18 07:08:02 -06:00
Gregory Nutt
f85a55d301 include/net/ieee802154.h: Trivial update, mostly to comments. 2017-08-17 16:15:31 -06:00
Gregory Nutt
fe7933ce0b Add include/net/ieee802154.h 2017-08-17 15:25:52 -06:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
855e40ee7d Make some file section headers more consistent with standard 2015-04-08 07:25:06 -06:00
Gregory Nutt
96a53254dd Some minor clean-up of IPv4/6 flags 2015-01-24 07:29:43 -06:00
Gregory Nutt
59c0757183 Fix a few more dangling IPv6 issues found by code inspection 2015-01-18 10:33:27 -06:00
Gregory Nutt
86f617cc88 Networking: Straighten up use if IPv6/IPv4 in TCP connection logic 2015-01-17 17:07:54 -06:00
Gregory Nutt
2c251d845c include/net/if.h: Add a bit to the device flags to indicate if the device packet buffer holds an IPv4 or an IPv6 domain packet. Set/clear the flag along with the correct offset to the application payload data as each packet is received.
net/socket, net/tcp, net/udp:  Add logic to select the domain of the outputgoing packet before sending any UDP or TCP packet.  This sets the bit to indicate the IPv4 or IPv6 domain and the correct offset to the output going payload data.
2015-01-17 07:42:09 -06:00
Gregory Nutt
7d68c22d7f Networking: Add support for IPv6 ioctls 2015-01-14 13:03:12 -06:00
Gregory Nutt
dcfc76336a Add some helper macros to make the code a little more compac 2014-08-17 09:46:03 -06:00
Gregory Nutt
057af36c1d More of the PHY event notification logic change: Fix some compile errors when full feature is enabled; Add some missing ioctol logic 2014-08-16 15:04:09 -06:00
Gregory Nutt
eb5e2e4b20 Finishes the ioctl definition to subscribe to PHY events. Revamp network ioctl signature to support arguments other than struct mii_ioctl_data. 2014-08-16 14:08:04 -06:00
Gregory Nutt
f183632aab Add support for a network device IOCTL to access PHY registers. Ioctls only implemented for STM32. From Lazlo 2014-06-27 09:30:41 -06:00
Gregory Nutt
0520270733 Net PKT: Suppress ARP requests for packet socket transfers 2014-06-24 08:22:12 -06:00
Gregory Nutt
9e2640b896 Networking: Improved status reporting and new carrier management interfaces. From Max Holtzberg 2014-01-21 10:21:45 -06:00
Gregory Nutt
566857bcbd Clean-up routing table design. 2013-10-05 12:05:51 -06:00
Gregory Nutt
0ff3852b2f Add a user interface to manage the routing table 2013-10-02 10:51:48 -06:00
Gregory Nutt
6d2eba842c Add candidate net/route.h. Not yet integrated 2013-10-02 06:58:37 -06:00
patacongo
73659bfd99 Add interfaces flags, extend ifconfig, add ifup and ifdown commands (Darcy Gong
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5308 42af7a65-404d-4744-a932-0658087f49c3
2012-11-04 18:54:04 +00:00
patacongo
8e5733ae3f Header file clean-up
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4948 42af7a65-404d-4744-a932-0658087f49c3
2012-07-17 03:58:11 +00:00
patacongo
11e1c6fb96 More IPv6 rambling
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4815 42af7a65-404d-4744-a932-0658087f49c3
2012-06-08 01:53:26 +00:00
patacongo
4f8e4d2308 First round of compile fixes for IPv6
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4813 42af7a65-404d-4744-a932-0658087f49c3
2012-06-07 22:00:19 +00:00
patacongo
7f005e2d3c Move all non-standard, NuttX header files into include/nuttx/net
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4450 42af7a65-404d-4744-a932-0658087f49c3
2012-03-03 23:18:34 +00:00
patacongo
18379c0657 Fix an error the TCP/IP received sequence number counting
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4416 42af7a65-404d-4744-a932-0658087f49c3
2012-02-23 15:53:27 +00:00