NDN-DPDK
High-Speed Named Data Networking Forwarder
Loading...
Searching...
No Matches
gtpip.c File Reference
#include "gtpip.h"
#include "../core/logger.h"
#include "face.h"

Typedefs

typedef enum __rte_packed_begin ExtractResult ExtractResult

Enumerations

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.
uint64_t EthGtpip_ProcessUplinkBulk (EthGtpip *g, struct rte_mbuf *pkts[], uint32_t count)
 Process uplink packets.

Variables

 ExtractResultNone
 ExtractResultIPv4
 ExtractResultFaceID

Typedef Documentation

◆ ExtractResult

enum __rte_packed_begin ExtractResult

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UlHdrLenBase 
UlHdrLenIpv4 
UlHdrLenVlanIpv4 
UlHdrLenIpv6 
UlHdrLenVlanIpv6 

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 )

Variable Documentation

◆ ExtractResultFaceID

ExtractResultFaceID

◆ ExtractResultIPv4

ExtractResultIPv4

◆ ExtractResultNone

ExtractResultNone