This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6678 receiving raw ethernet

I'm trying to receive raw ethernet.

I'm using the client code example but it seems like the packets are being dropped in the data link layer.

The NIMUReceivePacket does not get called.

Such an issue is posted at:

http://e2e.ti.com/support/embedded/bios/f/355/p/208123/741416.aspx

1. I would like to know if it is true that the C6678 does not support promiscuous mode ?

2. Is there a way to configure the MAC addresses and the Type field (on the senders side) in order to prevent raw packets from being dropped (without promiscuous mode) ?

Thanks,

Ami

  • I am not sure about the NDK capabilities, but I think that the hardware supports promiscuous mode when you configure the NetCP using the LLD for exception MAC address. I suggest you look at the following HTML file (whatever is your version of PDK is) and look for the function Pa_configExceptionRoute See if using this function can help you configure Layer 2 to move all packets, regardsless of the MAC address to your destination. (You need to understand how to use the PA  LLD)

     

    \pdk_C6678_X_Y_U_V\packages\ti\drv\pa\docs\doxygen\html\group__palld__api__functions.html

     

    paReturn_t Pa_configExceptionRoute  ( Pa_Handle  iHandle,    int  nRoute,    int *  routeTypes,    paRouteInfo_t *  eRoutes,    paCmd_t  cmd,    uint16_t *  cmdSize,    paCmdReply_t *  reply,    int *  cmdDest    )   

    Pa_configExceptionRoute configures the routing of packets based on a exception condition such as MAC briadcast, multicast or error packet.

    This function is used to configure the sub-system to route packets that satisfy an exception rule or condition (see Exception Route Types). For example,

    failure to table match parsing error i.e. the sub-system is not able to continuethe parse MAC broadcast packets IP multicast packets From one to pa_EROUTE_MAX routes can be specified through a single call to this function. Parameter nRoute is used to specify how many routes are contained in the routeTypes and eRoutes arrays. A value of 0 nRoutes results in no action by the function.

    By default when each exception type is detected the packet is discarded silently. Once the route is changed through a call to this function it remains in the new state until the function is called again to explicitly change that route. The only way to revert back to the default of silent discard is to call this function again.

    On return the command buffer (cmd) contains a formatted command for the sub-system. The destination for the command is provided in cmdDest. The module user must send the formatted command to the sub-system. The sub-system will generate a reply and this reply must be sent back to this module through the API Pa_forwardResult.

    Parameters: [in]  iHandle  The driver instance handle  [in]  nRoute  The number of exception routes specified  [in]  routeTypes  Array of exception routing types (Exception Route Types)  [in]  eRoutes  Array of exception packet routing configuration  [out]  cmd  Buffer where the sub-system command is created  [in]  cmdSize  The size of the passCmd buffer  [in]  reply  Where the response to the PASS command is routed  [out]  cmdDest  Value (Command/Transmit Packet Destinations) 

    Return values:  Value  (Function Return Values) 

    Precondition: A driver instance must be created and tables initialized