mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 22:44:27 +08:00
net: qualcomm: rmnet: Process packets over ethernet
Add support to send and receive packets over ethernet. An example of usage is testing the data path on UML. This can be achieved by setting up two UML instances in multicast mode and associating rmnet over the UML ethernet device. Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e971a9a09d
commit
74692caf1b
@ -15,6 +15,7 @@
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/netdev_features.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include "rmnet_private.h"
|
||||
#include "rmnet_config.h"
|
||||
#include "rmnet_vnd.h"
|
||||
@ -104,6 +105,15 @@ rmnet_map_ingress_handler(struct sk_buff *skb,
|
||||
{
|
||||
struct sk_buff *skbn;
|
||||
|
||||
if (skb->dev->type == ARPHRD_ETHER) {
|
||||
if (pskb_expand_head(skb, ETH_HLEN, 0, GFP_KERNEL)) {
|
||||
kfree_skb(skb);
|
||||
return;
|
||||
}
|
||||
|
||||
skb_push(skb, ETH_HLEN);
|
||||
}
|
||||
|
||||
if (port->ingress_data_format & RMNET_INGRESS_FORMAT_DEAGGREGATION) {
|
||||
while ((skbn = rmnet_map_deaggregate(skb)) != NULL)
|
||||
__rmnet_map_ingress_handler(skbn, port);
|
||||
|
Loading…
Reference in New Issue
Block a user