![]() But I did that, and I'm still having problems seeing the packets from our custom board. Looks like putting the switch in bypass mode should accomplish what I need to support promiscuous mode. If ((flags & IFF_ALLMULTI) & !(ndev->flags & IFF_ALLMULTI))ĭev_err(&ndev->dev, "multicast traffic cannot be filtered!\n") * whole bunch of additional logic that this driver does not implement * The switch cannot filter multicast traffic unless it is configured If ((flags & IFF_PROMISC) & (ndev->flags & IFF_PROMISC))ĭev_err(&ndev->dev, "promiscuity ignored!\n") * Subsequently, the host will need to operate as a "bridge", learn, * ALE in bypass mode and route all traffic to the host port. For promiscuous mode to work, we would need to put the * The switch cannot operate in promiscuous mode without substantial Static void cpsw_ndo_change_rx_flags(struct net_device *ndev, int flags) The bad news is (from drivers/net/cpsw.c - The AM335X ethernet switch driver) The good news is I think you are correct about promiscuous mode. RX bytes:2688 (2.6 KiB) TX bytes:1180 (1.1 PHY: 0:01 - Link is ifconfig eth0 promisc ![]() RX packets:42 errors:0 dropped:42 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 RX packets:30 errors:0 dropped:30 overruns:0 frame:0 UP BROADCAST RUNNING ALLMULTI MULTICAST MTU:1500 Metric:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 PHY: 0:01 - Link is Up - ifconfig eth0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 UP BROADCAST ALLMULTI MULTICAST MTU:1500 Metric:1 Would that be causing the switch/Linux to drop them?Įth0 Link encap:Ethernet HWaddr D4:94:A1:87:01:7A The packets from our custom board do use a set VLAN id. I do see other broadcast messages get through when I hook the dev board up to our network, so I am wondering why these messages from our board are not getting through. Our custom board is just using a broadcast Ethernet MAC address to try to communicate. I believe this had to do with the built in 3 port switch, but I am having trouble finding documentation on this switch and how to configure it. But when I try to set promiscuous mode, I get the error below. Many online examples of using raw Ethernet packets indicate the port needs to be in promiscuous mode. You can see that a link is made and Rx Packets are tallied, but 100% are dropped. But my application does show that other broadcast packets out on the network do get through and I can read them.īelow is an example of the dev board hooked directly to our custom board. I have been able to use WireShark to verify that I am able to send out a raw packet from the MityArm dev board, but it appears that all the raw packets sent to the dev board are being dropped. I am a novice Linux user/developer and I have been following examples online on how to open a raw socket, bind the socket to a interface and then send/receive the raw packets. ![]() Our custom embedded board already successfully communicates with other boards and a PC using raw Ethernet packets (none of them running Linux). Lately I’ve been writing some code to send packets to a specific MAC address from a specific interface.I am trying to write a Linux application for my MityArm 335x Dev board to send and receive raw Ethernet packets to/from a custom embedded board of our design.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |