NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Typedefs | Enumerations | Functions
gtpip.c File Reference
#include "gtpip.h"
#include "../core/logger.h"
#include "face.h"

Typedefs

typedef enum ExtractResult ExtractResult
 

Enumerations

enum  ExtractResult { ExtractResultNone , ExtractResultIPv4 , ExtractResultFaceID }
 
enum  {
  UlHdrLenBase , UlHdrLenIpv4 = UlHdrLenBase + sizeof(struct rte_ipv4_hdr) , UlHdrLenVlanIpv4 = UlHdrLenIpv4 + sizeof(struct rte_vlan_hdr) , UlHdrLenIpv6 = UlHdrLenBase + sizeof(struct rte_ipv6_hdr) ,
  UlHdrLenVlanIpv6 = UlHdrLenIpv6 + sizeof(struct rte_vlan_hdr)
}
 

Functions

 N_LOG_INIT (EthGtpip)
 
uint64_t EthGtpip_ProcessDownlinkBulk (EthGtpip *g, struct rte_mbuf *pkts[], uint32_t count)
 Process downlink packets. More...
 
uint64_t EthGtpip_ProcessUplinkBulk (EthGtpip *g, struct rte_mbuf *pkts[], uint32_t count)
 Process uplink packets. More...
 

Typedef Documentation

◆ ExtractResult

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UlHdrLenBase 
UlHdrLenIpv4 
UlHdrLenVlanIpv4 
UlHdrLenIpv6 
UlHdrLenVlanIpv6 

◆ ExtractResult

Enumerator
ExtractResultNone 
ExtractResultIPv4 
ExtractResultFaceID 

Function Documentation

◆ EthGtpip_ProcessDownlinkBulk()

uint64_t EthGtpip_ProcessDownlinkBulk ( EthGtpip g,
struct rte_mbuf *  pkts[],
uint32_t  count 
)

Process downlink packets.

Parameters
pktsEthernet frames received on N6 interface.
countquantity of pkts , maximum is 64.
Returns
bitset of accepted packets.

If a packet carries IP traffic that matches a known UE in g , its Ethernet header is removed and then the packet is encapsulated in GTP-U tunnel by prepending outer Ethernet + outer IP + outer UDP + GTPv1 headers.

◆ EthGtpip_ProcessUplinkBulk()

uint64_t EthGtpip_ProcessUplinkBulk ( EthGtpip g,
struct rte_mbuf *  pkts[],
uint32_t  count 
)

Process uplink packets.

Parameters
pktsEthernet frames received on N3 interface.
countquantity of pkts , maximum is 64.
Returns
bitset of accepted packets.

If a packet carries GTP-U traffic that matches a known UE in g , its outer Ethernet + outer IP + outer UDP + GTPv1 headers are removed, and then a new Ethernet header is prepended.

◆ N_LOG_INIT()

N_LOG_INIT ( EthGtpip  )