package protos

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	oai "magma/lte/cloud/go/protos/oai"
	protos "magma/orc8r/lib/go/protos"
	math "math"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion3 

type PDNType int32

const (
	PDNType_UNUSED PDNType = 0
	PDNType_IPV4   PDNType = 1
	PDNType_IPV6   PDNType = 2
	PDNType_IPV4V6 PDNType = 3
	PDNType_NonIP  PDNType = 5
)

var PDNType_name = map[int32]string{
	0: "UNUSED",
	1: "IPV4",
	2: "IPV6",
	3: "IPV4V6",
	5: "NonIP",
}

var PDNType_value = map[string]int32{
	"UNUSED": 0,
	"IPV4":   1,
	"IPV6":   2,
	"IPV4V6": 3,
	"NonIP":  5,
}

func (x PDNType) String() string {
	return proto.EnumName(PDNType_name, int32(x))
}

func (PDNType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{0}
}

type RATType int32

const (
	RATType_RESERVED      RATType = 0
	RATType_UTRAN         RATType = 1
	RATType_GERAN         RATType = 2
	RATType_WLAN          RATType = 3
	RATType_GAN           RATType = 4
	RATType_HSPA          RATType = 5
	RATType_EUTRAN        RATType = 6
	RATType_VIRTUAL       RATType = 7
	RATType_EUTRAN_NB_IOT RATType = 8
	RATType_LTE_M         RATType = 9
	RATType_NR            RATType = 10
)

var RATType_name = map[int32]string{
	0:  "RESERVED",
	1:  "UTRAN",
	2:  "GERAN",
	3:  "WLAN",
	4:  "GAN",
	5:  "HSPA",
	6:  "EUTRAN",
	7:  "VIRTUAL",
	8:  "EUTRAN_NB_IOT",
	9:  "LTE_M",
	10: "NR",
}

var RATType_value = map[string]int32{
	"RESERVED":      0,
	"UTRAN":         1,
	"GERAN":         2,
	"WLAN":          3,
	"GAN":           4,
	"HSPA":          5,
	"EUTRAN":        6,
	"VIRTUAL":       7,
	"EUTRAN_NB_IOT": 8,
	"LTE_M":         9,
	"NR":            10,
}

func (x RATType) String() string {
	return proto.EnumName(RATType_name, int32(x))
}

func (RATType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{1}
}

type SelectionModeType int32

const (
	SelectionModeType_APN_provided_subscription_verified    SelectionModeType = 0
	SelectionModeType_ms_APN_subscription_not_verified      SelectionModeType = 1
	SelectionModeType_network_APN_subscription_not_verified SelectionModeType = 2
)

var SelectionModeType_name = map[int32]string{
	0: "APN_provided_subscription_verified",
	1: "ms_APN_subscription_not_verified",
	2: "network_APN_subscription_not_verified",
}

var SelectionModeType_value = map[string]int32{
	"APN_provided_subscription_verified":    0,
	"ms_APN_subscription_not_verified":      1,
	"network_APN_subscription_not_verified": 2,
}

func (x SelectionModeType) String() string {
	return proto.EnumName(SelectionModeType_name, int32(x))
}

func (SelectionModeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{2}
}

type CreateSessionRequestPgw struct {

	PgwAddrs                     string                        `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi                         string                        `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	Msisdn                       string                        `protobuf:"bytes,3,opt,name=msisdn,proto3" json:"msisdn,omitempty"`
	Mei                          string                        `protobuf:"bytes,4,opt,name=mei,proto3" json:"mei,omitempty"`
	ServingNetwork               *ServingNetwork               `protobuf:"bytes,5,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Uli                          *UserLocationInformation      `protobuf:"bytes,6,opt,name=uli,proto3" json:"uli,omitempty"`
	RatType                      RATType                       `protobuf:"varint,7,opt,name=rat_type,json=ratType,proto3,enum=magma.feg.RATType" json:"rat_type,omitempty"`
	PdnType                      PDNType                       `protobuf:"varint,8,opt,name=pdn_type,json=pdnType,proto3,enum=magma.feg.PDNType" json:"pdn_type,omitempty"`
	Paa                          *PdnAddressAllocation         `protobuf:"bytes,9,opt,name=paa,proto3" json:"paa,omitempty"`
	Apn                          string                        `protobuf:"bytes,10,opt,name=apn,proto3" json:"apn,omitempty"`
	Ambr                         *Ambr                         `protobuf:"bytes,11,opt,name=ambr,proto3" json:"ambr,omitempty"`
	SelectionMode                SelectionModeType             `protobuf:"varint,12,opt,name=selection_mode,json=selectionMode,proto3,enum=magma.feg.SelectionModeType" json:"selection_mode,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,13,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	CAgwTeid                     uint32                        `protobuf:"varint,14,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,15,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	IndicationFlag               []byte                        `protobuf:"bytes,16,opt,name=indication_flag,json=indicationFlag,proto3" json:"indication_flag,omitempty"`
	ChargingCharacteristics      string                        `protobuf:"bytes,17,opt,name=charging_characteristics,json=chargingCharacteristics,proto3" json:"charging_characteristics,omitempty"`
	TimeZone                     *TimeZone                     `protobuf:"bytes,18,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateSessionRequestPgw) Reset()         { *m = CreateSessionRequestPgw{} }
func (m *CreateSessionRequestPgw) String() string { return proto.CompactTextString(m) }
func (*CreateSessionRequestPgw) ProtoMessage()    {}
func (*CreateSessionRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{0}
}

func (m *CreateSessionRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateSessionRequestPgw.Unmarshal(m, b)
}
func (m *CreateSessionRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateSessionRequestPgw.Marshal(b, m, deterministic)
}
func (m *CreateSessionRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateSessionRequestPgw.Merge(m, src)
}
func (m *CreateSessionRequestPgw) XXX_Size() int {
	return xxx_messageInfo_CreateSessionRequestPgw.Size(m)
}
func (m *CreateSessionRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateSessionRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateSessionRequestPgw proto.InternalMessageInfo

func (m *CreateSessionRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetMsisdn() string {
	if m != nil {
		return m.Msisdn
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetMei() string {
	if m != nil {
		return m.Mei
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetRatType() RATType {
	if m != nil {
		return m.RatType
	}
	return RATType_RESERVED
}

func (m *CreateSessionRequestPgw) GetPdnType() PDNType {
	if m != nil {
		return m.PdnType
	}
	return PDNType_UNUSED
}

func (m *CreateSessionRequestPgw) GetPaa() *PdnAddressAllocation {
	if m != nil {
		return m.Paa
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetApn() string {
	if m != nil {
		return m.Apn
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetAmbr() *Ambr {
	if m != nil {
		return m.Ambr
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetSelectionMode() SelectionModeType {
	if m != nil {
		return m.SelectionMode
	}
	return SelectionModeType_APN_provided_subscription_verified
}

func (m *CreateSessionRequestPgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateSessionRequestPgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetIndicationFlag() []byte {
	if m != nil {
		return m.IndicationFlag
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetChargingCharacteristics() string {
	if m != nil {
		return m.ChargingCharacteristics
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetTimeZone() *TimeZone {
	if m != nil {
		return m.TimeZone
	}
	return nil
}

type UserLocationInformation struct {
	Lac                  uint32   `protobuf:"varint,1,opt,name=lac,proto3" json:"lac,omitempty"`
	Ci                   uint32   `protobuf:"varint,2,opt,name=ci,proto3" json:"ci,omitempty"`
	Sac                  uint32   `protobuf:"varint,3,opt,name=sac,proto3" json:"sac,omitempty"`
	Rac                  uint32   `protobuf:"varint,4,opt,name=rac,proto3" json:"rac,omitempty"`
	Tac                  uint32   `protobuf:"varint,5,opt,name=tac,proto3" json:"tac,omitempty"`
	Eci                  uint32   `protobuf:"varint,6,opt,name=eci,proto3" json:"eci,omitempty"`
	MeNbi                uint32   `protobuf:"varint,7,opt,name=MeNbi,proto3" json:"MeNbi,omitempty"`
	EMeNbi               uint32   `protobuf:"varint,8,opt,name=EMeNbi,proto3" json:"EMeNbi,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserLocationInformation) Reset()         { *m = UserLocationInformation{} }
func (m *UserLocationInformation) String() string { return proto.CompactTextString(m) }
func (*UserLocationInformation) ProtoMessage()    {}
func (*UserLocationInformation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{1}
}

func (m *UserLocationInformation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserLocationInformation.Unmarshal(m, b)
}
func (m *UserLocationInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserLocationInformation.Marshal(b, m, deterministic)
}
func (m *UserLocationInformation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserLocationInformation.Merge(m, src)
}
func (m *UserLocationInformation) XXX_Size() int {
	return xxx_messageInfo_UserLocationInformation.Size(m)
}
func (m *UserLocationInformation) XXX_DiscardUnknown() {
	xxx_messageInfo_UserLocationInformation.DiscardUnknown(m)
}

var xxx_messageInfo_UserLocationInformation proto.InternalMessageInfo

func (m *UserLocationInformation) GetLac() uint32 {
	if m != nil {
		return m.Lac
	}
	return 0
}

func (m *UserLocationInformation) GetCi() uint32 {
	if m != nil {
		return m.Ci
	}
	return 0
}

func (m *UserLocationInformation) GetSac() uint32 {
	if m != nil {
		return m.Sac
	}
	return 0
}

func (m *UserLocationInformation) GetRac() uint32 {
	if m != nil {
		return m.Rac
	}
	return 0
}

func (m *UserLocationInformation) GetTac() uint32 {
	if m != nil {
		return m.Tac
	}
	return 0
}

func (m *UserLocationInformation) GetEci() uint32 {
	if m != nil {
		return m.Eci
	}
	return 0
}

func (m *UserLocationInformation) GetMeNbi() uint32 {
	if m != nil {
		return m.MeNbi
	}
	return 0
}

func (m *UserLocationInformation) GetEMeNbi() uint32 {
	if m != nil {
		return m.EMeNbi
	}
	return 0
}

type ServingNetwork struct {
	Mcc                  string   `protobuf:"bytes,1,opt,name=mcc,proto3" json:"mcc,omitempty"`
	Mnc                  string   `protobuf:"bytes,2,opt,name=mnc,proto3" json:"mnc,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ServingNetwork) Reset()         { *m = ServingNetwork{} }
func (m *ServingNetwork) String() string { return proto.CompactTextString(m) }
func (*ServingNetwork) ProtoMessage()    {}
func (*ServingNetwork) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{2}
}

func (m *ServingNetwork) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ServingNetwork.Unmarshal(m, b)
}
func (m *ServingNetwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ServingNetwork.Marshal(b, m, deterministic)
}
func (m *ServingNetwork) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ServingNetwork.Merge(m, src)
}
func (m *ServingNetwork) XXX_Size() int {
	return xxx_messageInfo_ServingNetwork.Size(m)
}
func (m *ServingNetwork) XXX_DiscardUnknown() {
	xxx_messageInfo_ServingNetwork.DiscardUnknown(m)
}

var xxx_messageInfo_ServingNetwork proto.InternalMessageInfo

func (m *ServingNetwork) GetMcc() string {
	if m != nil {
		return m.Mcc
	}
	return ""
}

func (m *ServingNetwork) GetMnc() string {
	if m != nil {
		return m.Mnc
	}
	return ""
}

type ProtocolConfigurationOptions struct {
	ConfigProtocol       uint32                      `protobuf:"varint,1,opt,name=config_protocol,json=configProtocol,proto3" json:"config_protocol,omitempty"`
	ProtoOrContainerId   []*PcoProtocolOrContainerId `protobuf:"bytes,2,rep,name=proto_or_container_id,json=protoOrContainerId,proto3" json:"proto_or_container_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *ProtocolConfigurationOptions) Reset()         { *m = ProtocolConfigurationOptions{} }
func (m *ProtocolConfigurationOptions) String() string { return proto.CompactTextString(m) }
func (*ProtocolConfigurationOptions) ProtoMessage()    {}
func (*ProtocolConfigurationOptions) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{3}
}

func (m *ProtocolConfigurationOptions) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProtocolConfigurationOptions.Unmarshal(m, b)
}
func (m *ProtocolConfigurationOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProtocolConfigurationOptions.Marshal(b, m, deterministic)
}
func (m *ProtocolConfigurationOptions) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProtocolConfigurationOptions.Merge(m, src)
}
func (m *ProtocolConfigurationOptions) XXX_Size() int {
	return xxx_messageInfo_ProtocolConfigurationOptions.Size(m)
}
func (m *ProtocolConfigurationOptions) XXX_DiscardUnknown() {
	xxx_messageInfo_ProtocolConfigurationOptions.DiscardUnknown(m)
}

var xxx_messageInfo_ProtocolConfigurationOptions proto.InternalMessageInfo

func (m *ProtocolConfigurationOptions) GetConfigProtocol() uint32 {
	if m != nil {
		return m.ConfigProtocol
	}
	return 0
}

func (m *ProtocolConfigurationOptions) GetProtoOrContainerId() []*PcoProtocolOrContainerId {
	if m != nil {
		return m.ProtoOrContainerId
	}
	return nil
}

type PcoProtocolOrContainerId struct {
	Id                   uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Contents             []byte   `protobuf:"bytes,2,opt,name=contents,proto3" json:"contents,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PcoProtocolOrContainerId) Reset()         { *m = PcoProtocolOrContainerId{} }
func (m *PcoProtocolOrContainerId) String() string { return proto.CompactTextString(m) }
func (*PcoProtocolOrContainerId) ProtoMessage()    {}
func (*PcoProtocolOrContainerId) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{4}
}

func (m *PcoProtocolOrContainerId) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PcoProtocolOrContainerId.Unmarshal(m, b)
}
func (m *PcoProtocolOrContainerId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PcoProtocolOrContainerId.Marshal(b, m, deterministic)
}
func (m *PcoProtocolOrContainerId) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PcoProtocolOrContainerId.Merge(m, src)
}
func (m *PcoProtocolOrContainerId) XXX_Size() int {
	return xxx_messageInfo_PcoProtocolOrContainerId.Size(m)
}
func (m *PcoProtocolOrContainerId) XXX_DiscardUnknown() {
	xxx_messageInfo_PcoProtocolOrContainerId.DiscardUnknown(m)
}

var xxx_messageInfo_PcoProtocolOrContainerId proto.InternalMessageInfo

func (m *PcoProtocolOrContainerId) GetId() uint32 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *PcoProtocolOrContainerId) GetContents() []byte {
	if m != nil {
		return m.Contents
	}
	return nil
}

type BearerContext struct {
	Id                   uint32                   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	UserPlaneFteid       *Fteid                   `protobuf:"bytes,2,opt,name=user_plane_fteid,json=userPlaneFteid,proto3" json:"user_plane_fteid,omitempty"`
	Qos                  *QosInformation          `protobuf:"bytes,3,opt,name=qos,proto3" json:"qos,omitempty"`
	ChargingId           uint32                   `protobuf:"varint,4,opt,name=charging_id,json=chargingId,proto3" json:"charging_id,omitempty"`
	Tft                  *oai.TrafficFlowTemplate `protobuf:"bytes,5,opt,name=tft,proto3" json:"tft,omitempty"`
	Cause                uint32                   `protobuf:"varint,6,opt,name=cause,proto3" json:"cause,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *BearerContext) Reset()         { *m = BearerContext{} }
func (m *BearerContext) String() string { return proto.CompactTextString(m) }
func (*BearerContext) ProtoMessage()    {}
func (*BearerContext) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{5}
}

func (m *BearerContext) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BearerContext.Unmarshal(m, b)
}
func (m *BearerContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BearerContext.Marshal(b, m, deterministic)
}
func (m *BearerContext) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BearerContext.Merge(m, src)
}
func (m *BearerContext) XXX_Size() int {
	return xxx_messageInfo_BearerContext.Size(m)
}
func (m *BearerContext) XXX_DiscardUnknown() {
	xxx_messageInfo_BearerContext.DiscardUnknown(m)
}

var xxx_messageInfo_BearerContext proto.InternalMessageInfo

func (m *BearerContext) GetId() uint32 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *BearerContext) GetUserPlaneFteid() *Fteid {
	if m != nil {
		return m.UserPlaneFteid
	}
	return nil
}

func (m *BearerContext) GetQos() *QosInformation {
	if m != nil {
		return m.Qos
	}
	return nil
}

func (m *BearerContext) GetChargingId() uint32 {
	if m != nil {
		return m.ChargingId
	}
	return 0
}

func (m *BearerContext) GetTft() *oai.TrafficFlowTemplate {
	if m != nil {
		return m.Tft
	}
	return nil
}

func (m *BearerContext) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

type QosInformation struct {
	Pci                     uint32   `protobuf:"varint,1,opt,name=pci,proto3" json:"pci,omitempty"`
	PriorityLevel           uint32   `protobuf:"varint,2,opt,name=priority_level,json=priorityLevel,proto3" json:"priority_level,omitempty"`
	PreemptionCapability    uint32   `protobuf:"varint,3,opt,name=preemption_capability,json=preemptionCapability,proto3" json:"preemption_capability,omitempty"`
	PreemptionVulnerability uint32   `protobuf:"varint,4,opt,name=preemption_vulnerability,json=preemptionVulnerability,proto3" json:"preemption_vulnerability,omitempty"`
	Qci                     uint32   `protobuf:"varint,5,opt,name=qci,proto3" json:"qci,omitempty"`
	Gbr                     *Ambr    `protobuf:"bytes,6,opt,name=gbr,proto3" json:"gbr,omitempty"`
	Mbr                     *Ambr    `protobuf:"bytes,7,opt,name=mbr,proto3" json:"mbr,omitempty"`
	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
	XXX_unrecognized        []byte   `json:"-"`
	XXX_sizecache           int32    `json:"-"`
}

func (m *QosInformation) Reset()         { *m = QosInformation{} }
func (m *QosInformation) String() string { return proto.CompactTextString(m) }
func (*QosInformation) ProtoMessage()    {}
func (*QosInformation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{6}
}

func (m *QosInformation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QosInformation.Unmarshal(m, b)
}
func (m *QosInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QosInformation.Marshal(b, m, deterministic)
}
func (m *QosInformation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QosInformation.Merge(m, src)
}
func (m *QosInformation) XXX_Size() int {
	return xxx_messageInfo_QosInformation.Size(m)
}
func (m *QosInformation) XXX_DiscardUnknown() {
	xxx_messageInfo_QosInformation.DiscardUnknown(m)
}

var xxx_messageInfo_QosInformation proto.InternalMessageInfo

func (m *QosInformation) GetPci() uint32 {
	if m != nil {
		return m.Pci
	}
	return 0
}

func (m *QosInformation) GetPriorityLevel() uint32 {
	if m != nil {
		return m.PriorityLevel
	}
	return 0
}

func (m *QosInformation) GetPreemptionCapability() uint32 {
	if m != nil {
		return m.PreemptionCapability
	}
	return 0
}

func (m *QosInformation) GetPreemptionVulnerability() uint32 {
	if m != nil {
		return m.PreemptionVulnerability
	}
	return 0
}

func (m *QosInformation) GetQci() uint32 {
	if m != nil {
		return m.Qci
	}
	return 0
}

func (m *QosInformation) GetGbr() *Ambr {
	if m != nil {
		return m.Gbr
	}
	return nil
}

func (m *QosInformation) GetMbr() *Ambr {
	if m != nil {
		return m.Mbr
	}
	return nil
}

type Ambr struct {
	BrUl                 uint64   `protobuf:"varint,1,opt,name=br_ul,json=brUl,proto3" json:"br_ul,omitempty"`
	BrDl                 uint64   `protobuf:"varint,2,opt,name=br_dl,json=brDl,proto3" json:"br_dl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ambr) Reset()         { *m = Ambr{} }
func (m *Ambr) String() string { return proto.CompactTextString(m) }
func (*Ambr) ProtoMessage()    {}
func (*Ambr) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{7}
}

func (m *Ambr) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ambr.Unmarshal(m, b)
}
func (m *Ambr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ambr.Marshal(b, m, deterministic)
}
func (m *Ambr) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ambr.Merge(m, src)
}
func (m *Ambr) XXX_Size() int {
	return xxx_messageInfo_Ambr.Size(m)
}
func (m *Ambr) XXX_DiscardUnknown() {
	xxx_messageInfo_Ambr.DiscardUnknown(m)
}

var xxx_messageInfo_Ambr proto.InternalMessageInfo

func (m *Ambr) GetBrUl() uint64 {
	if m != nil {
		return m.BrUl
	}
	return 0
}

func (m *Ambr) GetBrDl() uint64 {
	if m != nil {
		return m.BrDl
	}
	return 0
}

type PdnAddressAllocation struct {
	Ipv4Address          string   `protobuf:"bytes,1,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"`
	Ipv6Address          string   `protobuf:"bytes,2,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"`
	Ipv6Prefix           uint32   `protobuf:"varint,3,opt,name=ipv6_prefix,json=ipv6Prefix,proto3" json:"ipv6_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PdnAddressAllocation) Reset()         { *m = PdnAddressAllocation{} }
func (m *PdnAddressAllocation) String() string { return proto.CompactTextString(m) }
func (*PdnAddressAllocation) ProtoMessage()    {}
func (*PdnAddressAllocation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{8}
}

func (m *PdnAddressAllocation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PdnAddressAllocation.Unmarshal(m, b)
}
func (m *PdnAddressAllocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PdnAddressAllocation.Marshal(b, m, deterministic)
}
func (m *PdnAddressAllocation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PdnAddressAllocation.Merge(m, src)
}
func (m *PdnAddressAllocation) XXX_Size() int {
	return xxx_messageInfo_PdnAddressAllocation.Size(m)
}
func (m *PdnAddressAllocation) XXX_DiscardUnknown() {
	xxx_messageInfo_PdnAddressAllocation.DiscardUnknown(m)
}

var xxx_messageInfo_PdnAddressAllocation proto.InternalMessageInfo

func (m *PdnAddressAllocation) GetIpv4Address() string {
	if m != nil {
		return m.Ipv4Address
	}
	return ""
}

func (m *PdnAddressAllocation) GetIpv6Address() string {
	if m != nil {
		return m.Ipv6Address
	}
	return ""
}

func (m *PdnAddressAllocation) GetIpv6Prefix() uint32 {
	if m != nil {
		return m.Ipv6Prefix
	}
	return 0
}

type TimeZone struct {

	DeltaSeconds int32 `protobuf:"varint,1,opt,name=delta_seconds,json=deltaSeconds,proto3" json:"delta_seconds,omitempty"`

	DaylightSavingTime   uint32   `protobuf:"varint,2,opt,name=daylight_saving_time,json=daylightSavingTime,proto3" json:"daylight_saving_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TimeZone) Reset()         { *m = TimeZone{} }
func (m *TimeZone) String() string { return proto.CompactTextString(m) }
func (*TimeZone) ProtoMessage()    {}
func (*TimeZone) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{9}
}

func (m *TimeZone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TimeZone.Unmarshal(m, b)
}
func (m *TimeZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TimeZone.Marshal(b, m, deterministic)
}
func (m *TimeZone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TimeZone.Merge(m, src)
}
func (m *TimeZone) XXX_Size() int {
	return xxx_messageInfo_TimeZone.Size(m)
}
func (m *TimeZone) XXX_DiscardUnknown() {
	xxx_messageInfo_TimeZone.DiscardUnknown(m)
}

var xxx_messageInfo_TimeZone proto.InternalMessageInfo

func (m *TimeZone) GetDeltaSeconds() int32 {
	if m != nil {
		return m.DeltaSeconds
	}
	return 0
}

func (m *TimeZone) GetDaylightSavingTime() uint32 {
	if m != nil {
		return m.DaylightSavingTime
	}
	return 0
}

type Fteid struct {
	Ipv4Address          string   `protobuf:"bytes,1,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"`
	Ipv6Address          string   `protobuf:"bytes,2,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"`
	Teid                 uint32   `protobuf:"varint,3,opt,name=teid,proto3" json:"teid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Fteid) Reset()         { *m = Fteid{} }
func (m *Fteid) String() string { return proto.CompactTextString(m) }
func (*Fteid) ProtoMessage()    {}
func (*Fteid) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{10}
}

func (m *Fteid) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Fteid.Unmarshal(m, b)
}
func (m *Fteid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Fteid.Marshal(b, m, deterministic)
}
func (m *Fteid) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Fteid.Merge(m, src)
}
func (m *Fteid) XXX_Size() int {
	return xxx_messageInfo_Fteid.Size(m)
}
func (m *Fteid) XXX_DiscardUnknown() {
	xxx_messageInfo_Fteid.DiscardUnknown(m)
}

var xxx_messageInfo_Fteid proto.InternalMessageInfo

func (m *Fteid) GetIpv4Address() string {
	if m != nil {
		return m.Ipv4Address
	}
	return ""
}

func (m *Fteid) GetIpv6Address() string {
	if m != nil {
		return m.Ipv6Address
	}
	return ""
}

func (m *Fteid) GetTeid() uint32 {
	if m != nil {
		return m.Teid
	}
	return 0
}

type CreateSessionResponsePgw struct {
	PdnType PDNType `protobuf:"varint,1,opt,name=pdn_type,json=pdnType,proto3,enum=magma.feg.PDNType" json:"pdn_type,omitempty"`

	Paa                          *PdnAddressAllocation         `protobuf:"bytes,2,opt,name=paa,proto3" json:"paa,omitempty"`
	ApnRestriction               uint32                        `protobuf:"varint,3,opt,name=apn_restriction,json=apnRestriction,proto3" json:"apn_restriction,omitempty"`
	CAgwTeid                     uint32                        `protobuf:"varint,4,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	CPgwFteid                    *Fteid                        `protobuf:"bytes,5,opt,name=c_pgw_fteid,json=cPgwFteid,proto3" json:"c_pgw_fteid,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,6,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,7,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	GtpError                     *GtpError                     `protobuf:"bytes,8,opt,name=gtp_error,json=gtpError,proto3" json:"gtp_error,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateSessionResponsePgw) Reset()         { *m = CreateSessionResponsePgw{} }
func (m *CreateSessionResponsePgw) String() string { return proto.CompactTextString(m) }
func (*CreateSessionResponsePgw) ProtoMessage()    {}
func (*CreateSessionResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{11}
}

func (m *CreateSessionResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateSessionResponsePgw.Unmarshal(m, b)
}
func (m *CreateSessionResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateSessionResponsePgw.Marshal(b, m, deterministic)
}
func (m *CreateSessionResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateSessionResponsePgw.Merge(m, src)
}
func (m *CreateSessionResponsePgw) XXX_Size() int {
	return xxx_messageInfo_CreateSessionResponsePgw.Size(m)
}
func (m *CreateSessionResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateSessionResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateSessionResponsePgw proto.InternalMessageInfo

func (m *CreateSessionResponsePgw) GetPdnType() PDNType {
	if m != nil {
		return m.PdnType
	}
	return PDNType_UNUSED
}

func (m *CreateSessionResponsePgw) GetPaa() *PdnAddressAllocation {
	if m != nil {
		return m.Paa
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetApnRestriction() uint32 {
	if m != nil {
		return m.ApnRestriction
	}
	return 0
}

func (m *CreateSessionResponsePgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateSessionResponsePgw) GetCPgwFteid() *Fteid {
	if m != nil {
		return m.CPgwFteid
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetGtpError() *GtpError {
	if m != nil {
		return m.GtpError
	}
	return nil
}

type DeleteSessionRequestPgw struct {
	PgwAddrs             string                   `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi                 string                   `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	BearerId             uint32                   `protobuf:"varint,3,opt,name=bearer_id,json=bearerId,proto3" json:"bearer_id,omitempty"`
	CAgwTeid             uint32                   `protobuf:"varint,4,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	CPgwTeid             uint32                   `protobuf:"varint,5,opt,name=c_pgw_teid,json=cPgwTeid,proto3" json:"c_pgw_teid,omitempty"`
	ServingNetwork       *ServingNetwork          `protobuf:"bytes,6,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Uli                  *UserLocationInformation `protobuf:"bytes,7,opt,name=uli,proto3" json:"uli,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *DeleteSessionRequestPgw) Reset()         { *m = DeleteSessionRequestPgw{} }
func (m *DeleteSessionRequestPgw) String() string { return proto.CompactTextString(m) }
func (*DeleteSessionRequestPgw) ProtoMessage()    {}
func (*DeleteSessionRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{12}
}

func (m *DeleteSessionRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteSessionRequestPgw.Unmarshal(m, b)
}
func (m *DeleteSessionRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteSessionRequestPgw.Marshal(b, m, deterministic)
}
func (m *DeleteSessionRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteSessionRequestPgw.Merge(m, src)
}
func (m *DeleteSessionRequestPgw) XXX_Size() int {
	return xxx_messageInfo_DeleteSessionRequestPgw.Size(m)
}
func (m *DeleteSessionRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteSessionRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteSessionRequestPgw proto.InternalMessageInfo

func (m *DeleteSessionRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *DeleteSessionRequestPgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *DeleteSessionRequestPgw) GetBearerId() uint32 {
	if m != nil {
		return m.BearerId
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetCPgwTeid() uint32 {
	if m != nil {
		return m.CPgwTeid
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *DeleteSessionRequestPgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

type DeleteSessionResponsePgw struct {
	GtpError             *GtpError `protobuf:"bytes,1,opt,name=gtp_error,json=gtpError,proto3" json:"gtp_error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *DeleteSessionResponsePgw) Reset()         { *m = DeleteSessionResponsePgw{} }
func (m *DeleteSessionResponsePgw) String() string { return proto.CompactTextString(m) }
func (*DeleteSessionResponsePgw) ProtoMessage()    {}
func (*DeleteSessionResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{13}
}

func (m *DeleteSessionResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteSessionResponsePgw.Unmarshal(m, b)
}
func (m *DeleteSessionResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteSessionResponsePgw.Marshal(b, m, deterministic)
}
func (m *DeleteSessionResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteSessionResponsePgw.Merge(m, src)
}
func (m *DeleteSessionResponsePgw) XXX_Size() int {
	return xxx_messageInfo_DeleteSessionResponsePgw.Size(m)
}
func (m *DeleteSessionResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteSessionResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteSessionResponsePgw proto.InternalMessageInfo

func (m *DeleteSessionResponsePgw) GetGtpError() *GtpError {
	if m != nil {
		return m.GtpError
	}
	return nil
}

type CreateBearerRequestPgw struct {
	PgwAddrs       string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	SequenceNumber uint32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`

	CAgwTeid                     uint32                        `protobuf:"varint,3,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	LinkedBearerId               uint32                        `protobuf:"varint,4,opt,name=linked_bearer_id,json=linkedBearerId,proto3" json:"linked_bearer_id,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,5,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,6,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	IndicationFlag               []byte                        `protobuf:"bytes,7,opt,name=indication_flag,json=indicationFlag,proto3" json:"indication_flag,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateBearerRequestPgw) Reset()         { *m = CreateBearerRequestPgw{} }
func (m *CreateBearerRequestPgw) String() string { return proto.CompactTextString(m) }
func (*CreateBearerRequestPgw) ProtoMessage()    {}
func (*CreateBearerRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{14}
}

func (m *CreateBearerRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateBearerRequestPgw.Unmarshal(m, b)
}
func (m *CreateBearerRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateBearerRequestPgw.Marshal(b, m, deterministic)
}
func (m *CreateBearerRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateBearerRequestPgw.Merge(m, src)
}
func (m *CreateBearerRequestPgw) XXX_Size() int {
	return xxx_messageInfo_CreateBearerRequestPgw.Size(m)
}
func (m *CreateBearerRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateBearerRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateBearerRequestPgw proto.InternalMessageInfo

func (m *CreateBearerRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateBearerRequestPgw) GetSequenceNumber() uint32 {
	if m != nil {
		return m.SequenceNumber
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetLinkedBearerId() uint32 {
	if m != nil {
		return m.LinkedBearerId
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateBearerRequestPgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateBearerRequestPgw) GetIndicationFlag() []byte {
	if m != nil {
		return m.IndicationFlag
	}
	return nil
}

type CreateBearerResponsePgw struct {

	PgwAddrs       string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi           string `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	SequenceNumber uint32 `protobuf:"varint,3,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`

	CPgwTeid uint32 `protobuf:"varint,4,opt,name=c_pgw_teid,json=cPgwTeid,proto3" json:"c_pgw_teid,omitempty"`

	UPgwFteid                    *Fteid                        `protobuf:"bytes,5,opt,name=u_pgw_fteid,json=uPgwFteid,proto3" json:"u_pgw_fteid,omitempty"`
	ServingNetwork               *ServingNetwork               `protobuf:"bytes,6,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Cause                        uint32                        `protobuf:"varint,7,opt,name=cause,proto3" json:"cause,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,8,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,9,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	TimeZone                     *TimeZone                     `protobuf:"bytes,10,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
	Uli                          *UserLocationInformation      `protobuf:"bytes,11,opt,name=uli,proto3" json:"uli,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateBearerResponsePgw) Reset()         { *m = CreateBearerResponsePgw{} }
func (m *CreateBearerResponsePgw) String() string { return proto.CompactTextString(m) }
func (*CreateBearerResponsePgw) ProtoMessage()    {}
func (*CreateBearerResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{15}
}

func (m *CreateBearerResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateBearerResponsePgw.Unmarshal(m, b)
}
func (m *CreateBearerResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateBearerResponsePgw.Marshal(b, m, deterministic)
}
func (m *CreateBearerResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateBearerResponsePgw.Merge(m, src)
}
func (m *CreateBearerResponsePgw) XXX_Size() int {
	return xxx_messageInfo_CreateBearerResponsePgw.Size(m)
}
func (m *CreateBearerResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateBearerResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateBearerResponsePgw proto.InternalMessageInfo

func (m *CreateBearerResponsePgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateBearerResponsePgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *CreateBearerResponsePgw) GetSequenceNumber() uint32 {
	if m != nil {
		return m.SequenceNumber
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetCPgwTeid() uint32 {
	if m != nil {
		return m.CPgwTeid
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetUPgwFteid() *Fteid {
	if m != nil {
		return m.UPgwFteid
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetTimeZone() *TimeZone {
	if m != nil {
		return m.TimeZone
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

type EchoRequest struct {

	PgwAddrs string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`

	Imsi                 string   `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EchoRequest) Reset()         { *m = EchoRequest{} }
func (m *EchoRequest) String() string { return proto.CompactTextString(m) }
func (*EchoRequest) ProtoMessage()    {}
func (*EchoRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{16}
}

func (m *EchoRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EchoRequest.Unmarshal(m, b)
}
func (m *EchoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EchoRequest.Marshal(b, m, deterministic)
}
func (m *EchoRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EchoRequest.Merge(m, src)
}
func (m *EchoRequest) XXX_Size() int {
	return xxx_messageInfo_EchoRequest.Size(m)
}
func (m *EchoRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_EchoRequest.DiscardUnknown(m)
}

var xxx_messageInfo_EchoRequest proto.InternalMessageInfo

func (m *EchoRequest) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *EchoRequest) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

type EchoResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EchoResponse) Reset()         { *m = EchoResponse{} }
func (m *EchoResponse) String() string { return proto.CompactTextString(m) }
func (*EchoResponse) ProtoMessage()    {}
func (*EchoResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{17}
}

func (m *EchoResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EchoResponse.Unmarshal(m, b)
}
func (m *EchoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EchoResponse.Marshal(b, m, deterministic)
}
func (m *EchoResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EchoResponse.Merge(m, src)
}
func (m *EchoResponse) XXX_Size() int {
	return xxx_messageInfo_EchoResponse.Size(m)
}
func (m *EchoResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_EchoResponse.DiscardUnknown(m)
}

var xxx_messageInfo_EchoResponse proto.InternalMessageInfo

type GtpError struct {
	Cause                uint32   `protobuf:"varint,1,opt,name=cause,proto3" json:"cause,omitempty"`
	Msg                  string   `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GtpError) Reset()         { *m = GtpError{} }
func (m *GtpError) String() string { return proto.CompactTextString(m) }
func (*GtpError) ProtoMessage()    {}
func (*GtpError) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{18}
}

func (m *GtpError) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GtpError.Unmarshal(m, b)
}
func (m *GtpError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GtpError.Marshal(b, m, deterministic)
}
func (m *GtpError) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GtpError.Merge(m, src)
}
func (m *GtpError) XXX_Size() int {
	return xxx_messageInfo_GtpError.Size(m)
}
func (m *GtpError) XXX_DiscardUnknown() {
	xxx_messageInfo_GtpError.DiscardUnknown(m)
}

var xxx_messageInfo_GtpError proto.InternalMessageInfo

func (m *GtpError) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

func (m *GtpError) GetMsg() string {
	if m != nil {
		return m.Msg
	}
	return ""
}

func init() {
	proto.RegisterEnum("magma.feg.PDNType", PDNType_name, PDNType_value)
	proto.RegisterEnum("magma.feg.RATType", RATType_name, RATType_value)
	proto.RegisterEnum("magma.feg.SelectionModeType", SelectionModeType_name, SelectionModeType_value)
	proto.RegisterType((*CreateSessionRequestPgw)(nil), "magma.feg.CreateSessionRequestPgw")
	proto.RegisterType((*UserLocationInformation)(nil), "magma.feg.UserLocationInformation")
	proto.RegisterType((*ServingNetwork)(nil), "magma.feg.ServingNetwork")
	proto.RegisterType((*ProtocolConfigurationOptions)(nil), "magma.feg.ProtocolConfigurationOptions")
	proto.RegisterType((*PcoProtocolOrContainerId)(nil), "magma.feg.PcoProtocolOrContainerId")
	proto.RegisterType((*BearerContext)(nil), "magma.feg.BearerContext")
	proto.RegisterType((*QosInformation)(nil), "magma.feg.QosInformation")
	proto.RegisterType((*Ambr)(nil), "magma.feg.Ambr")
	proto.RegisterType((*PdnAddressAllocation)(nil), "magma.feg.PdnAddressAllocation")
	proto.RegisterType((*TimeZone)(nil), "magma.feg.TimeZone")
	proto.RegisterType((*Fteid)(nil), "magma.feg.Fteid")
	proto.RegisterType((*CreateSessionResponsePgw)(nil), "magma.feg.CreateSessionResponsePgw")
	proto.RegisterType((*DeleteSessionRequestPgw)(nil), "magma.feg.DeleteSessionRequestPgw")
	proto.RegisterType((*DeleteSessionResponsePgw)(nil), "magma.feg.DeleteSessionResponsePgw")
	proto.RegisterType((*CreateBearerRequestPgw)(nil), "magma.feg.CreateBearerRequestPgw")
	proto.RegisterType((*CreateBearerResponsePgw)(nil), "magma.feg.CreateBearerResponsePgw")
	proto.RegisterType((*EchoRequest)(nil), "magma.feg.EchoRequest")
	proto.RegisterType((*EchoResponse)(nil), "magma.feg.EchoResponse")
	proto.RegisterType((*GtpError)(nil), "magma.feg.GtpError")
}

func init() { proto.RegisterFile("feg/protos/s8_proxy.proto", fileDescriptor_8a775e17ac280154) }

var fileDescriptor_8a775e17ac280154 = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x6e, 0xdb, 0xca,
	0xf1, 0xb7, 0xbe, 0x2c, 0x69, 0x6c, 0xc9, 0xcc, 0x1e, 0xff, 0x63, 0xc6, 0x27, 0xf8, 0xc7, 0x61,
	0x7a, 0x1a, 0x37, 0x45, 0x6d, 0xd7, 0x27, 0x08, 0xd2, 0x02, 0x07, 0xad, 0xec, 0xd8, 0xa9, 0x01,
	0x47, 0x51, 0x69, 0xd9, 0x05, 0x72, 0x43, 0xac, 0xc8, 0x15, 0xb3, 0x38, 0x24, 0x97, 0xde, 0xa5,
	0xec, 0xb8, 0x40, 0x1f, 0xa0, 0x40, 0x6f, 0x7a, 0x5f, 0xa0, 0xcf, 0x50, 0xa0, 0x2f, 0xd2, 0xab,
	0xde, 0xf5, 0x2d, 0x7a, 0x5b, 0x14, 0xfb, 0x41, 0x89, 0xb2, 0xa5, 0xda, 0x6e, 0x7d, 0xa5, 0xd9,
	0x99, 0xdf, 0x2e, 0x77, 0x67, 0x7e, 0x33, 0xb3, 0x2b, 0x78, 0x32, 0x24, 0xe1, 0x76, 0xca, 0x59,
	0xc6, 0xc4, 0xb6, 0x78, 0xeb, 0xa5, 0x9c, 0x7d, 0xb9, 0xda, 0x52, 0x63, 0xd4, 0x8c, 0x71, 0x18,
	0xe3, 0xad, 0x21, 0x09, 0xd7, 0x9f, 0x45, 0x19, 0xc9, 0x51, 0x0c, 0xd3, 0x6d, 0x91, 0x86, 0x97,
	0x9e, 0xc8, 0x70, 0x46, 0x34, 0x76, 0xfd, 0x09, 0xe3, 0xfe, 0x5b, 0x9e, 0x43, 0x7c, 0x16, 0xc7,
	0x2c, 0xd1, 0x26, 0xe7, 0x1f, 0x8b, 0xb0, 0xb6, 0xcf, 0x09, 0xce, 0xc8, 0x09, 0x11, 0x82, 0xb2,
	0xc4, 0x25, 0xe7, 0x23, 0x22, 0xb2, 0x5e, 0x78, 0x89, 0xd6, 0xa1, 0x91, 0x86, 0x97, 0x9d, 0x20,
	0xe0, 0xc2, 0x2e, 0x6d, 0x94, 0x36, 0x9b, 0xee, 0x78, 0x8c, 0x10, 0x54, 0x69, 0x2c, 0xa8, 0x5d,
	0x56, 0x7a, 0x25, 0xa3, 0xc7, 0xb0, 0x18, 0x0b, 0x2a, 0x82, 0xc4, 0xae, 0x28, 0xad, 0x19, 0x21,
	0x0b, 0x2a, 0x31, 0xa1, 0x76, 0x55, 0x29, 0xa5, 0x88, 0xf6, 0x60, 0x45, 0x10, 0x7e, 0x41, 0x93,
	0xd0, 0x4b, 0x48, 0x76, 0xc9, 0xf8, 0xf7, 0x76, 0x6d, 0xa3, 0xb4, 0xb9, 0xb4, 0xfb, 0x64, 0x6b,
	0x7c, 0xac, 0xad, 0x13, 0x8d, 0xe8, 0x6a, 0x80, 0xdb, 0x16, 0x53, 0x63, 0xf4, 0x1a, 0x2a, 0xa3,
	0x88, 0xda, 0x8b, 0x6a, 0x9e, 0x53, 0x98, 0x77, 0x2a, 0x08, 0x3f, 0x66, 0x3e, 0xce, 0x28, 0x4b,
	0x8e, 0x92, 0x21, 0xe3, 0xb1, 0x12, 0x5d, 0x09, 0x47, 0x3f, 0x81, 0x06, 0xc7, 0x99, 0x97, 0x5d,
	0xa5, 0xc4, 0xae, 0x6f, 0x94, 0x36, 0xdb, 0xbb, 0xa8, 0x30, 0xd5, 0xed, 0xf4, 0xfb, 0x57, 0x29,
	0x71, 0xeb, 0x1c, 0x67, 0x52, 0x90, 0xf0, 0x34, 0x48, 0x34, 0xbc, 0x71, 0x03, 0xde, 0x7b, 0xd7,
	0xd5, 0xf0, 0x34, 0x48, 0x14, 0xfc, 0xa7, 0x50, 0x49, 0x31, 0xb6, 0x9b, 0x6a, 0x4f, 0xcf, 0x8a,
	0xc8, 0x20, 0x91, 0x7e, 0x23, 0x42, 0x74, 0xa2, 0xc8, 0xec, 0xcd, 0x95, 0x58, 0xe9, 0x1c, 0x9c,
	0x26, 0x36, 0x68, 0xe7, 0xe0, 0x34, 0x41, 0x2f, 0xa0, 0x8a, 0xe3, 0x01, 0xb7, 0x97, 0xd4, 0x2a,
	0x2b, 0x85, 0x55, 0x3a, 0xf1, 0x80, 0xbb, 0xca, 0x88, 0xf6, 0xa1, 0x2d, 0x48, 0x44, 0x7c, 0xb9,
	0x90, 0x17, 0xb3, 0x80, 0xd8, 0xcb, 0x6a, 0x7b, 0x4f, 0xa7, 0x1c, 0x68, 0x00, 0x1f, 0x58, 0x40,
	0xd4, 0x46, 0x5b, 0xa2, 0xa8, 0x42, 0xbf, 0x80, 0xf6, 0x80, 0x60, 0x4e, 0xb8, 0xe7, 0xb3, 0x24,
	0x23, 0x5f, 0x32, 0xbb, 0xa5, 0xbe, 0x69, 0x17, 0x16, 0xd9, 0x53, 0x80, 0x7d, 0x6d, 0x77, 0x5b,
	0x83, 0xe2, 0x10, 0x3d, 0x05, 0xf0, 0x3d, 0x1c, 0x5e, 0x7a, 0x19, 0xa1, 0x81, 0xdd, 0xde, 0x28,
	0x6d, 0xb6, 0xdc, 0x86, 0xdf, 0x09, 0x2f, 0xfb, 0x84, 0x06, 0x28, 0x86, 0xff, 0x57, 0x24, 0xf3,
	0x59, 0x24, 0x3f, 0x30, 0xa4, 0xe1, 0x88, 0xab, 0x93, 0x7b, 0x2c, 0x95, 0x3f, 0xc2, 0x5e, 0x51,
	0x9f, 0x7b, 0x59, 0x74, 0x94, 0x99, 0xb0, 0x5f, 0xc4, 0x7f, 0xd4, 0x70, 0xf7, 0x69, 0xfa, 0x1f,
	0xac, 0xe8, 0x25, 0xac, 0xd0, 0x24, 0xa0, 0xda, 0xb9, 0xde, 0x30, 0xc2, 0xa1, 0x6d, 0x6d, 0x94,
	0x36, 0x97, 0xdd, 0xf6, 0x44, 0x7d, 0x18, 0xe1, 0x10, 0xfd, 0x0c, 0x6c, 0xff, 0x33, 0xe6, 0xa1,
	0xa4, 0x9f, 0x14, 0xb0, 0x9f, 0x11, 0x4e, 0x45, 0x46, 0x7d, 0x61, 0x3f, 0x52, 0x71, 0x58, 0xcb,
	0xed, 0xfb, 0xd3, 0x66, 0xb4, 0x03, 0xcd, 0x8c, 0xc6, 0xc4, 0xfb, 0x2d, 0x4b, 0x88, 0x8d, 0xd4,
	0xee, 0xbf, 0x2a, 0xec, 0xbe, 0x4f, 0x63, 0xf2, 0x89, 0x25, 0xc4, 0x6d, 0x64, 0x46, 0x72, 0xfe,
	0x52, 0x82, 0xb5, 0x39, 0x8c, 0x94, 0xb1, 0x8f, 0xb0, 0xaf, 0x72, 0xab, 0xe5, 0x4a, 0x11, 0xb5,
	0xa1, 0xec, 0xeb, 0xa4, 0x6a, 0xb9, 0x65, 0x9f, 0x4a, 0x84, 0xc0, 0xbe, 0xca, 0xa7, 0x96, 0x2b,
	0x45, 0xa9, 0xe1, 0xd8, 0x57, 0xc9, 0xd4, 0x72, 0xa5, 0x28, 0x35, 0x19, 0xf6, 0x55, 0x02, 0xb5,
	0x5c, 0x29, 0x4a, 0x0d, 0xf1, 0x75, 0x6a, 0xb4, 0x5c, 0x29, 0xa2, 0x55, 0xa8, 0x7d, 0x20, 0xdd,
	0x01, 0x55, 0x9c, 0x6f, 0xb9, 0x7a, 0x20, 0x13, 0xf6, 0x40, 0xab, 0x1b, 0x4a, 0x6d, 0x46, 0xce,
	0x6b, 0x68, 0x4f, 0x27, 0x9f, 0x4a, 0x61, 0xdf, 0x37, 0x55, 0x40, 0x8a, 0x4a, 0x93, 0xf8, 0x26,
	0xff, 0xa5, 0xe8, 0xfc, 0xb9, 0x04, 0x4f, 0x7b, 0xb7, 0x04, 0x48, 0xd3, 0xc0, 0xcb, 0xe3, 0x68,
	0x8e, 0xde, 0xd6, 0xea, 0x7c, 0x32, 0x3a, 0x83, 0xff, 0x53, 0x08, 0x8f, 0x69, 0x66, 0x62, 0x9a,
	0x10, 0xee, 0xd1, 0xc0, 0x2e, 0x6f, 0x54, 0x36, 0x97, 0x76, 0x5f, 0x14, 0xf9, 0xe2, 0xb3, 0x7c,
	0xda, 0x47, 0x45, 0x4b, 0x85, 0x3d, 0x0a, 0x5c, 0xa4, 0x56, 0x98, 0xd2, 0x39, 0x87, 0x60, 0xcf,
	0xc3, 0x4b, 0xcf, 0xd3, 0xc0, 0xec, 0xa7, 0x4c, 0x03, 0x59, 0xfc, 0x54, 0x52, 0x24, 0x99, 0x50,
	0x87, 0x5c, 0x76, 0xc7, 0x63, 0xe7, 0x9f, 0x25, 0x68, 0x4d, 0xe5, 0xc5, 0x8d, 0xd9, 0x3f, 0x07,
	0x6b, 0x24, 0x08, 0xf7, 0xd2, 0x08, 0x27, 0xc4, 0x1b, 0xaa, 0xf4, 0x28, 0x2b, 0xba, 0x58, 0x85,
	0xcd, 0x1f, 0x4a, 0xbd, 0xdb, 0x96, 0xc8, 0x9e, 0x04, 0xaa, 0x31, 0xfa, 0x31, 0x54, 0xce, 0x99,
	0x50, 0x31, 0x9f, 0x2e, 0x88, 0xbf, 0x66, 0x62, 0xaa, 0x9e, 0x9d, 0x33, 0x81, 0x9e, 0xc1, 0xd2,
	0x98, 0xcb, 0x34, 0x30, 0xb4, 0x80, 0x5c, 0x75, 0x14, 0xc8, 0x32, 0x99, 0x0d, 0x33, 0x53, 0x5e,
	0xf3, 0x32, 0x19, 0x65, 0x64, 0x8b, 0x61, 0xba, 0xd5, 0xe7, 0x78, 0x38, 0xa4, 0xfe, 0x61, 0xc4,
	0x2e, 0xfb, 0x24, 0x4e, 0x23, 0x9c, 0x11, 0x57, 0xc2, 0x25, 0x5f, 0x7c, 0x3c, 0x12, 0xc4, 0x70,
	0x48, 0x0f, 0x9c, 0x3f, 0x96, 0xa1, 0x3d, 0xbd, 0x09, 0x49, 0x83, 0xd4, 0xa7, 0x39, 0x85, 0x53,
	0x9f, 0xa2, 0x6f, 0xa0, 0x9d, 0x72, 0xca, 0x38, 0xcd, 0xae, 0xbc, 0x88, 0x5c, 0x90, 0xc8, 0xd0,
	0xb9, 0x95, 0x6b, 0x8f, 0xa5, 0x12, 0x7d, 0x2b, 0x63, 0x4c, 0x48, 0xac, 0xb8, 0xe1, 0xf9, 0x38,
	0xc5, 0x03, 0x1a, 0xd1, 0xec, 0xca, 0x70, 0x7d, 0x75, 0x62, 0xdc, 0x1f, 0xdb, 0x64, 0xe6, 0x16,
	0x26, 0x5d, 0x8c, 0xa2, 0x84, 0xf0, 0x7c, 0x9e, 0x3e, 0xfa, 0xda, 0xc4, 0x7e, 0x56, 0x34, 0xcb,
	0x8d, 0x9e, 0xfb, 0x34, 0xcf, 0x92, 0x73, 0x9f, 0xa2, 0xe7, 0x50, 0x09, 0x07, 0xdc, 0x34, 0x90,
	0x1b, 0x65, 0x56, 0xda, 0x24, 0x44, 0x56, 0xe2, 0xfa, 0x1c, 0x48, 0x3c, 0xe0, 0xce, 0x0e, 0x54,
	0xe5, 0x00, 0x7d, 0x05, 0xb5, 0x01, 0xf7, 0x46, 0x9a, 0xd2, 0x55, 0xb7, 0x3a, 0xe0, 0xa7, 0x91,
	0x51, 0x06, 0xda, 0x05, 0x4a, 0xf9, 0x2e, 0x72, 0x7e, 0x07, 0xab, 0xb3, 0xda, 0x01, 0x7a, 0x0e,
	0xcb, 0x34, 0xbd, 0x78, 0xed, 0x61, 0x6d, 0x31, 0xc9, 0xb6, 0x24, 0x75, 0x06, 0x6c, 0x20, 0x6f,
	0xc6, 0x90, 0xf2, 0x18, 0xf2, 0x26, 0x87, 0x3c, 0x03, 0x35, 0xf4, 0x52, 0x4e, 0x86, 0xf4, 0x8b,
	0xf1, 0x26, 0x48, 0x55, 0x4f, 0x69, 0x1c, 0x0c, 0x8d, 0xbc, 0x4c, 0xa1, 0x17, 0xd0, 0x0a, 0x48,
	0x94, 0x61, 0x4f, 0x10, 0x9f, 0x25, 0x81, 0xfe, 0x66, 0xcd, 0x5d, 0x56, 0xca, 0x13, 0xad, 0x43,
	0x3b, 0xb0, 0x1a, 0xe0, 0xab, 0x88, 0x86, 0x9f, 0x33, 0x4f, 0x60, 0xd5, 0xb4, 0x65, 0x75, 0x33,
	0x61, 0x45, 0xb9, 0xed, 0x44, 0x99, 0xe4, 0xd2, 0x0e, 0x86, 0x9a, 0xa6, 0xf2, 0xc3, 0x1c, 0x09,
	0x41, 0x55, 0x25, 0x90, 0x3e, 0x8b, 0x92, 0x9d, 0xbf, 0x57, 0xc0, 0xbe, 0x76, 0x6f, 0x11, 0x29,
	0x4b, 0x04, 0x91, 0x17, 0x97, 0x62, 0xd7, 0x2e, 0xdd, 0xb9, 0x6b, 0x97, 0xef, 0xd1, 0xb5, 0x5f,
	0xc2, 0x0a, 0x4e, 0x13, 0x8f, 0x13, 0x91, 0x71, 0xaa, 0x1a, 0xaa, 0xd9, 0x5d, 0x1b, 0xa7, 0x72,
	0x2b, 0xb9, 0xf6, 0x5a, 0x87, 0xac, 0x5e, 0xeb, 0x90, 0x3b, 0xb0, 0xe4, 0x7b, 0xf2, 0xb6, 0xa6,
	0x2b, 0x44, 0x6d, 0x4e, 0x85, 0x68, 0xfa, 0xbd, 0xf0, 0x52, 0x7b, 0xf4, 0x66, 0xcb, 0x5e, 0xbc,
	0x5f, 0xcb, 0xbe, 0xbd, 0x29, 0xd7, 0x1f, 0xb2, 0x29, 0xef, 0x40, 0x33, 0xcc, 0x52, 0x8f, 0x70,
	0xce, 0xb8, 0xea, 0x32, 0xd3, 0x0d, 0xf3, 0x7d, 0x96, 0x1e, 0x48, 0x93, 0xdb, 0x08, 0x8d, 0xe4,
	0xfc, 0xa9, 0x0c, 0x6b, 0xef, 0x48, 0x44, 0x1e, 0xe2, 0x46, 0xfa, 0x35, 0x34, 0x8d, 0xb7, 0xc6,
	0xf4, 0x69, 0x68, 0xc5, 0x51, 0x70, 0x4b, 0x68, 0x94, 0x35, 0xcd, 0xad, 0x35, 0x63, 0xed, 0x19,
	0xeb, 0x8c, 0x0b, 0xec, 0xe2, 0x7f, 0x79, 0x81, 0xad, 0xdf, 0xeb, 0x02, 0xeb, 0x1c, 0x83, 0x7d,
	0xcd, 0x3b, 0x13, 0xde, 0x4f, 0x39, 0xbb, 0x74, 0x17, 0x67, 0xff, 0xab, 0x0c, 0x8f, 0x75, 0x1a,
	0x69, 0xd2, 0xdc, 0xd1, 0xd7, 0x2f, 0xe5, 0xf1, 0xcf, 0x47, 0x24, 0xf1, 0x89, 0x97, 0x8c, 0xe2,
	0x01, 0xe1, 0xa6, 0x1a, 0xb4, 0x73, 0x75, 0x57, 0x69, 0xaf, 0xf9, 0xb8, 0x72, 0xcd, 0xc7, 0x9b,
	0x60, 0x45, 0x34, 0xf9, 0x9e, 0x04, 0xde, 0x24, 0x4a, 0x3a, 0x0e, 0x6d, 0xad, 0xdf, 0xcb, 0x63,
	0x75, 0x3b, 0x6b, 0x6b, 0x0f, 0xc9, 0xda, 0xff, 0x39, 0xcb, 0x66, 0xdc, 0x45, 0xeb, 0xb3, 0xee,
	0xa2, 0xce, 0x5f, 0xab, 0xf9, 0xfb, 0x2b, 0x0f, 0xc0, 0x24, 0x9c, 0xf7, 0x65, 0xfb, 0x8c, 0xa8,
	0x54, 0xe6, 0x47, 0x25, 0xbd, 0xce, 0xfc, 0xde, 0xa4, 0x28, 0x8d, 0xee, 0x52, 0x94, 0x46, 0xe3,
	0xa2, 0xf4, 0x10, 0xd9, 0x30, 0xbe, 0x71, 0xd4, 0x0b, 0x37, 0x8e, 0x19, 0x81, 0x68, 0x3c, 0x74,
	0xb9, 0x6b, 0x3e, 0x70, 0xb9, 0x9b, 0xbc, 0x0f, 0xe0, 0x0e, 0xef, 0x83, 0xbc, 0x0a, 0x2c, 0xdd,
	0xaf, 0x0a, 0x7c, 0x07, 0x4b, 0x07, 0xfe, 0x67, 0x66, 0xd2, 0xf5, 0xbe, 0x4c, 0x71, 0xda, 0xb0,
	0xac, 0xa7, 0x6b, 0xb2, 0x39, 0xbb, 0xd0, 0xc8, 0x8b, 0xc3, 0x24, 0x10, 0xa5, 0x62, 0x20, 0xe4,
	0x75, 0x5f, 0x84, 0xe3, 0xeb, 0xbe, 0x08, 0x5f, 0xfd, 0x12, 0xea, 0xa6, 0x93, 0x22, 0x80, 0xc5,
	0xd3, 0xee, 0xe9, 0xc9, 0xc1, 0x3b, 0x6b, 0x01, 0x35, 0xa0, 0x7a, 0xd4, 0x3b, 0x7b, 0x6d, 0x95,
	0x8c, 0xf4, 0xc6, 0x2a, 0x4b, 0xbb, 0xd4, 0x9d, 0xbd, 0xb1, 0x2a, 0xa8, 0x09, 0xb5, 0x2e, 0x4b,
	0x8e, 0x7a, 0x56, 0xed, 0xd5, 0xef, 0x4b, 0x50, 0x37, 0x2f, 0x6e, 0xb4, 0x0c, 0x0d, 0xf7, 0xe0,
	0xe4, 0xc0, 0x3d, 0x53, 0x8b, 0x34, 0xa1, 0x76, 0xda, 0x77, 0x3b, 0x5d, 0xab, 0x24, 0xc5, 0xf7,
	0x07, 0x52, 0x2c, 0xcb, 0x05, 0x7f, 0x73, 0xdc, 0xe9, 0x5a, 0x15, 0x54, 0x87, 0xca, 0xfb, 0x4e,
	0xd7, 0xaa, 0x4a, 0xd5, 0xaf, 0x4e, 0x7a, 0x1d, 0xab, 0x26, 0xbf, 0x71, 0xa0, 0xe7, 0x2c, 0xa2,
	0x25, 0xa8, 0x9f, 0x1d, 0xb9, 0xfd, 0xd3, 0xce, 0xb1, 0x55, 0x47, 0x8f, 0xa0, 0xa5, 0x0d, 0x5e,
	0x77, 0xcf, 0x3b, 0xfa, 0xd8, 0xb7, 0x1a, 0x72, 0xcd, 0xe3, 0xfe, 0x81, 0xf7, 0xc1, 0x6a, 0xa2,
	0x45, 0x28, 0x77, 0x5d, 0x0b, 0x5e, 0xfd, 0xa1, 0x04, 0x8f, 0x6e, 0xbc, 0x97, 0xd1, 0x0f, 0xc1,
	0xe9, 0xf4, 0xba, 0xf2, 0xb9, 0x72, 0x41, 0x03, 0x12, 0x78, 0x62, 0x34, 0x10, 0x3e, 0xa7, 0xe6,
	0xfa, 0x49, 0x38, 0x1d, 0x52, 0x12, 0x58, 0x0b, 0xe8, 0x07, 0xb0, 0x11, 0x0b, 0x4f, 0x42, 0xa7,
	0x10, 0x09, 0xcb, 0x26, 0xa8, 0x12, 0xfa, 0x11, 0x7c, 0x63, 0xd2, 0xe3, 0x16, 0x68, 0x79, 0xf7,
	0x6f, 0x65, 0xa8, 0x9f, 0xbc, 0xed, 0x71, 0xf6, 0xe5, 0x0a, 0x7d, 0x82, 0xd6, 0xd4, 0x4d, 0x07,
	0x15, 0x59, 0x32, 0xe7, 0xbf, 0x9b, 0xf5, 0x17, 0xf3, 0x31, 0xe3, 0x02, 0xe3, 0x2c, 0xc8, 0xb5,
	0xa7, 0xba, 0xc9, 0xd4, 0xda, 0x73, 0xba, 0xf0, 0xd4, 0xda, 0xf3, 0x7a, 0x91, 0xb3, 0x80, 0xbe,
	0x83, 0xc6, 0x09, 0x49, 0x02, 0x49, 0x34, 0xf4, 0xb8, 0x30, 0xa5, 0x40, 0xdc, 0xf5, 0xb5, 0x1b,
	0x7a, 0xc3, 0xc8, 0x05, 0xf4, 0x11, 0x56, 0x67, 0x15, 0xc6, 0x19, 0xa7, 0xbf, 0x51, 0x39, 0xd7,
	0x1f, 0x19, 0x8c, 0xfa, 0xdf, 0x6b, 0xeb, 0x8c, 0xd1, 0xc0, 0x59, 0xd8, 0xfd, 0x04, 0x96, 0x71,
	0xa9, 0x86, 0x06, 0x84, 0xa3, 0x43, 0x58, 0x2e, 0xae, 0x81, 0x9e, 0xcf, 0x5d, 0x7c, 0x7c, 0xfa,
	0x59, 0x6b, 0xef, 0x7d, 0xfd, 0xe9, 0x89, 0xd2, 0x6e, 0x0f, 0x49, 0xb8, 0xed, 0x47, 0x6c, 0x14,
	0x6c, 0x87, 0xcc, 0xfc, 0xe1, 0x36, 0x58, 0x54, 0xbf, 0xdf, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff,
	0xf5, 0x93, 0xd0, 0xcc, 0xce, 0x13, 0x00, 0x00,
}

var _ context.Context
var _ grpc.ClientConnInterface

const _ = grpc.SupportPackageIsVersion6

type S8ProxyClient interface {
	CreateSession(ctx context.Context, in *CreateSessionRequestPgw, opts ...grpc.CallOption) (*CreateSessionResponsePgw, error)
	DeleteSession(ctx context.Context, in *DeleteSessionRequestPgw, opts ...grpc.CallOption) (*DeleteSessionResponsePgw, error)
	SendEcho(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
	CreateBearerResponse(ctx context.Context, in *CreateBearerResponsePgw, opts ...grpc.CallOption) (*protos.Void, error)
}

type s8ProxyClient struct {
	cc grpc.ClientConnInterface
}

func NewS8ProxyClient(cc grpc.ClientConnInterface) S8ProxyClient {
	return &s8ProxyClient{cc}
}

func (c *s8ProxyClient) CreateSession(ctx context.Context, in *CreateSessionRequestPgw, opts ...grpc.CallOption) (*CreateSessionResponsePgw, error) {
	out := new(CreateSessionResponsePgw)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/CreateSession", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) DeleteSession(ctx context.Context, in *DeleteSessionRequestPgw, opts ...grpc.CallOption) (*DeleteSessionResponsePgw, error) {
	out := new(DeleteSessionResponsePgw)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/DeleteSession", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) SendEcho(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
	out := new(EchoResponse)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/SendEcho", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) CreateBearerResponse(ctx context.Context, in *CreateBearerResponsePgw, opts ...grpc.CallOption) (*protos.Void, error) {
	out := new(protos.Void)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/CreateBearerResponse", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type S8ProxyServer interface {
	CreateSession(context.Context, *CreateSessionRequestPgw) (*CreateSessionResponsePgw, error)
	DeleteSession(context.Context, *DeleteSessionRequestPgw) (*DeleteSessionResponsePgw, error)
	SendEcho(context.Context, *EchoRequest) (*EchoResponse, error)
	CreateBearerResponse(context.Context, *CreateBearerResponsePgw) (*protos.Void, error)
}

type UnimplementedS8ProxyServer struct {
}

func (*UnimplementedS8ProxyServer) CreateSession(ctx context.Context, req *CreateSessionRequestPgw) (*CreateSessionResponsePgw, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSession not implemented")
}
func (*UnimplementedS8ProxyServer) DeleteSession(ctx context.Context, req *DeleteSessionRequestPgw) (*DeleteSessionResponsePgw, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteSession not implemented")
}
func (*UnimplementedS8ProxyServer) SendEcho(ctx context.Context, req *EchoRequest) (*EchoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendEcho not implemented")
}
func (*UnimplementedS8ProxyServer) CreateBearerResponse(ctx context.Context, req *CreateBearerResponsePgw) (*protos.Void, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBearerResponse not implemented")
}

func RegisterS8ProxyServer(s *grpc.Server, srv S8ProxyServer) {
	s.RegisterService(&_S8Proxy_serviceDesc, srv)
}

func _S8Proxy_CreateSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSessionRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).CreateSession(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/CreateSession",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).CreateSession(ctx, req.(*CreateSessionRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_DeleteSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteSessionRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).DeleteSession(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/DeleteSession",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).DeleteSession(ctx, req.(*DeleteSessionRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_SendEcho_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EchoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).SendEcho(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/SendEcho",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).SendEcho(ctx, req.(*EchoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_CreateBearerResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBearerResponsePgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).CreateBearerResponse(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/CreateBearerResponse",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).CreateBearerResponse(ctx, req.(*CreateBearerResponsePgw))
	}
	return interceptor(ctx, in, info, handler)
}

var _S8Proxy_serviceDesc = grpc.ServiceDesc{
	ServiceName: "magma.feg.S8Proxy",
	HandlerType: (*S8ProxyServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateSession",
			Handler:    _S8Proxy_CreateSession_Handler,
		},
		{
			MethodName: "DeleteSession",
			Handler:    _S8Proxy_DeleteSession_Handler,
		},
		{
			MethodName: "SendEcho",
			Handler:    _S8Proxy_SendEcho_Handler,
		},
		{
			MethodName: "CreateBearerResponse",
			Handler:    _S8Proxy_CreateBearerResponse_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "feg/protos/s8_proxy.proto",
}

type S8ProxyResponderClient interface {
	CreateBearer(ctx context.Context, in *CreateBearerRequestPgw, opts ...grpc.CallOption) (*protos.Void, error)
}

type s8ProxyResponderClient struct {
	cc grpc.ClientConnInterface
}

func NewS8ProxyResponderClient(cc grpc.ClientConnInterface) S8ProxyResponderClient {
	return &s8ProxyResponderClient{cc}
}

func (c *s8ProxyResponderClient) CreateBearer(ctx context.Context, in *CreateBearerRequestPgw, opts ...grpc.CallOption) (*protos.Void, error) {
	out := new(protos.Void)
	err := c.cc.Invoke(ctx, "/magma.feg.S8ProxyResponder/CreateBearer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type S8ProxyResponderServer interface {
	CreateBearer(context.Context, *CreateBearerRequestPgw) (*protos.Void, error)
}

type UnimplementedS8ProxyResponderServer struct {
}

func (*UnimplementedS8ProxyResponderServer) CreateBearer(ctx context.Context, req *CreateBearerRequestPgw) (*protos.Void, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBearer not implemented")
}

func RegisterS8ProxyResponderServer(s *grpc.Server, srv S8ProxyResponderServer) {
	s.RegisterService(&_S8ProxyResponder_serviceDesc, srv)
}

func _S8ProxyResponder_CreateBearer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBearerRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyResponderServer).CreateBearer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8ProxyResponder/CreateBearer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyResponderServer).CreateBearer(ctx, req.(*CreateBearerRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

var _S8ProxyResponder_serviceDesc = grpc.ServiceDesc{
	ServiceName: "magma.feg.S8ProxyResponder",
	HandlerType: (*S8ProxyResponderServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateBearer",
			Handler:    _S8ProxyResponder_CreateBearer_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "feg/protos/s8_proxy.proto",
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: feg/protos/s8_proxy.proto

package protos

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	oai "magma/lte/cloud/go/protos/oai"
	protos "magma/orc8r/lib/go/protos"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type PDNType int32

const (
	PDNType_UNUSED PDNType = 0
	PDNType_IPV4   PDNType = 1
	PDNType_IPV6   PDNType = 2
	PDNType_IPV4V6 PDNType = 3
	PDNType_NonIP  PDNType = 5
)

var PDNType_name = map[int32]string{
	0: "UNUSED",
	1: "IPV4",
	2: "IPV6",
	3: "IPV4V6",
	5: "NonIP",
}

var PDNType_value = map[string]int32{
	"UNUSED": 0,
	"IPV4":   1,
	"IPV6":   2,
	"IPV4V6": 3,
	"NonIP":  5,
}

func (x PDNType) String() string {
	return proto.EnumName(PDNType_name, int32(x))
}

func (PDNType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{0}
}

type RATType int32

const (
	RATType_RESERVED      RATType = 0
	RATType_UTRAN         RATType = 1
	RATType_GERAN         RATType = 2
	RATType_WLAN          RATType = 3
	RATType_GAN           RATType = 4
	RATType_HSPA          RATType = 5
	RATType_EUTRAN        RATType = 6
	RATType_VIRTUAL       RATType = 7
	RATType_EUTRAN_NB_IOT RATType = 8
	RATType_LTE_M         RATType = 9
	RATType_NR            RATType = 10
)

var RATType_name = map[int32]string{
	0:  "RESERVED",
	1:  "UTRAN",
	2:  "GERAN",
	3:  "WLAN",
	4:  "GAN",
	5:  "HSPA",
	6:  "EUTRAN",
	7:  "VIRTUAL",
	8:  "EUTRAN_NB_IOT",
	9:  "LTE_M",
	10: "NR",
}

var RATType_value = map[string]int32{
	"RESERVED":      0,
	"UTRAN":         1,
	"GERAN":         2,
	"WLAN":          3,
	"GAN":           4,
	"HSPA":          5,
	"EUTRAN":        6,
	"VIRTUAL":       7,
	"EUTRAN_NB_IOT": 8,
	"LTE_M":         9,
	"NR":            10,
}

func (x RATType) String() string {
	return proto.EnumName(RATType_name, int32(x))
}

func (RATType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{1}
}

type SelectionModeType int32

const (
	SelectionModeType_APN_provided_subscription_verified    SelectionModeType = 0
	SelectionModeType_ms_APN_subscription_not_verified      SelectionModeType = 1
	SelectionModeType_network_APN_subscription_not_verified SelectionModeType = 2
)

var SelectionModeType_name = map[int32]string{
	0: "APN_provided_subscription_verified",
	1: "ms_APN_subscription_not_verified",
	2: "network_APN_subscription_not_verified",
}

var SelectionModeType_value = map[string]int32{
	"APN_provided_subscription_verified":    0,
	"ms_APN_subscription_not_verified":      1,
	"network_APN_subscription_not_verified": 2,
}

func (x SelectionModeType) String() string {
	return proto.EnumName(SelectionModeType_name, int32(x))
}

func (SelectionModeType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{2}
}

// 3GPP TS 29.274  (not all 3gpp create session fields are included)
type CreateSessionRequestPgw struct {
	// Ip:port of pgw to send the request.
	// If empty s8_proxy will use value in its config
	PgwAddrs                     string                        `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi                         string                        `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	Msisdn                       string                        `protobuf:"bytes,3,opt,name=msisdn,proto3" json:"msisdn,omitempty"`
	Mei                          string                        `protobuf:"bytes,4,opt,name=mei,proto3" json:"mei,omitempty"`
	ServingNetwork               *ServingNetwork               `protobuf:"bytes,5,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Uli                          *UserLocationInformation      `protobuf:"bytes,6,opt,name=uli,proto3" json:"uli,omitempty"`
	RatType                      RATType                       `protobuf:"varint,7,opt,name=rat_type,json=ratType,proto3,enum=magma.feg.RATType" json:"rat_type,omitempty"`
	PdnType                      PDNType                       `protobuf:"varint,8,opt,name=pdn_type,json=pdnType,proto3,enum=magma.feg.PDNType" json:"pdn_type,omitempty"`
	Paa                          *PdnAddressAllocation         `protobuf:"bytes,9,opt,name=paa,proto3" json:"paa,omitempty"`
	Apn                          string                        `protobuf:"bytes,10,opt,name=apn,proto3" json:"apn,omitempty"`
	Ambr                         *Ambr                         `protobuf:"bytes,11,opt,name=ambr,proto3" json:"ambr,omitempty"`
	SelectionMode                SelectionModeType             `protobuf:"varint,12,opt,name=selection_mode,json=selectionMode,proto3,enum=magma.feg.SelectionModeType" json:"selection_mode,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,13,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	CAgwTeid                     uint32                        `protobuf:"varint,14,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,15,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	IndicationFlag               []byte                        `protobuf:"bytes,16,opt,name=indication_flag,json=indicationFlag,proto3" json:"indication_flag,omitempty"`
	ChargingCharacteristics      string                        `protobuf:"bytes,17,opt,name=charging_characteristics,json=chargingCharacteristics,proto3" json:"charging_characteristics,omitempty"`
	TimeZone                     *TimeZone                     `protobuf:"bytes,18,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateSessionRequestPgw) Reset()         { *m = CreateSessionRequestPgw{} }
func (m *CreateSessionRequestPgw) String() string { return proto.CompactTextString(m) }
func (*CreateSessionRequestPgw) ProtoMessage()    {}
func (*CreateSessionRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{0}
}

func (m *CreateSessionRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateSessionRequestPgw.Unmarshal(m, b)
}
func (m *CreateSessionRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateSessionRequestPgw.Marshal(b, m, deterministic)
}
func (m *CreateSessionRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateSessionRequestPgw.Merge(m, src)
}
func (m *CreateSessionRequestPgw) XXX_Size() int {
	return xxx_messageInfo_CreateSessionRequestPgw.Size(m)
}
func (m *CreateSessionRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateSessionRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateSessionRequestPgw proto.InternalMessageInfo

func (m *CreateSessionRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetMsisdn() string {
	if m != nil {
		return m.Msisdn
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetMei() string {
	if m != nil {
		return m.Mei
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetRatType() RATType {
	if m != nil {
		return m.RatType
	}
	return RATType_RESERVED
}

func (m *CreateSessionRequestPgw) GetPdnType() PDNType {
	if m != nil {
		return m.PdnType
	}
	return PDNType_UNUSED
}

func (m *CreateSessionRequestPgw) GetPaa() *PdnAddressAllocation {
	if m != nil {
		return m.Paa
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetApn() string {
	if m != nil {
		return m.Apn
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetAmbr() *Ambr {
	if m != nil {
		return m.Ambr
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetSelectionMode() SelectionModeType {
	if m != nil {
		return m.SelectionMode
	}
	return SelectionModeType_APN_provided_subscription_verified
}

func (m *CreateSessionRequestPgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateSessionRequestPgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetIndicationFlag() []byte {
	if m != nil {
		return m.IndicationFlag
	}
	return nil
}

func (m *CreateSessionRequestPgw) GetChargingCharacteristics() string {
	if m != nil {
		return m.ChargingCharacteristics
	}
	return ""
}

func (m *CreateSessionRequestPgw) GetTimeZone() *TimeZone {
	if m != nil {
		return m.TimeZone
	}
	return nil
}

type UserLocationInformation struct {
	Lac                  uint32   `protobuf:"varint,1,opt,name=lac,proto3" json:"lac,omitempty"`
	Ci                   uint32   `protobuf:"varint,2,opt,name=ci,proto3" json:"ci,omitempty"`
	Sac                  uint32   `protobuf:"varint,3,opt,name=sac,proto3" json:"sac,omitempty"`
	Rac                  uint32   `protobuf:"varint,4,opt,name=rac,proto3" json:"rac,omitempty"`
	Tac                  uint32   `protobuf:"varint,5,opt,name=tac,proto3" json:"tac,omitempty"`
	Eci                  uint32   `protobuf:"varint,6,opt,name=eci,proto3" json:"eci,omitempty"`
	MeNbi                uint32   `protobuf:"varint,7,opt,name=MeNbi,proto3" json:"MeNbi,omitempty"`
	EMeNbi               uint32   `protobuf:"varint,8,opt,name=EMeNbi,proto3" json:"EMeNbi,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UserLocationInformation) Reset()         { *m = UserLocationInformation{} }
func (m *UserLocationInformation) String() string { return proto.CompactTextString(m) }
func (*UserLocationInformation) ProtoMessage()    {}
func (*UserLocationInformation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{1}
}

func (m *UserLocationInformation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UserLocationInformation.Unmarshal(m, b)
}
func (m *UserLocationInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UserLocationInformation.Marshal(b, m, deterministic)
}
func (m *UserLocationInformation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UserLocationInformation.Merge(m, src)
}
func (m *UserLocationInformation) XXX_Size() int {
	return xxx_messageInfo_UserLocationInformation.Size(m)
}
func (m *UserLocationInformation) XXX_DiscardUnknown() {
	xxx_messageInfo_UserLocationInformation.DiscardUnknown(m)
}

var xxx_messageInfo_UserLocationInformation proto.InternalMessageInfo

func (m *UserLocationInformation) GetLac() uint32 {
	if m != nil {
		return m.Lac
	}
	return 0
}

func (m *UserLocationInformation) GetCi() uint32 {
	if m != nil {
		return m.Ci
	}
	return 0
}

func (m *UserLocationInformation) GetSac() uint32 {
	if m != nil {
		return m.Sac
	}
	return 0
}

func (m *UserLocationInformation) GetRac() uint32 {
	if m != nil {
		return m.Rac
	}
	return 0
}

func (m *UserLocationInformation) GetTac() uint32 {
	if m != nil {
		return m.Tac
	}
	return 0
}

func (m *UserLocationInformation) GetEci() uint32 {
	if m != nil {
		return m.Eci
	}
	return 0
}

func (m *UserLocationInformation) GetMeNbi() uint32 {
	if m != nil {
		return m.MeNbi
	}
	return 0
}

func (m *UserLocationInformation) GetEMeNbi() uint32 {
	if m != nil {
		return m.EMeNbi
	}
	return 0
}

type ServingNetwork struct {
	Mcc                  string   `protobuf:"bytes,1,opt,name=mcc,proto3" json:"mcc,omitempty"`
	Mnc                  string   `protobuf:"bytes,2,opt,name=mnc,proto3" json:"mnc,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ServingNetwork) Reset()         { *m = ServingNetwork{} }
func (m *ServingNetwork) String() string { return proto.CompactTextString(m) }
func (*ServingNetwork) ProtoMessage()    {}
func (*ServingNetwork) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{2}
}

func (m *ServingNetwork) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ServingNetwork.Unmarshal(m, b)
}
func (m *ServingNetwork) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ServingNetwork.Marshal(b, m, deterministic)
}
func (m *ServingNetwork) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ServingNetwork.Merge(m, src)
}
func (m *ServingNetwork) XXX_Size() int {
	return xxx_messageInfo_ServingNetwork.Size(m)
}
func (m *ServingNetwork) XXX_DiscardUnknown() {
	xxx_messageInfo_ServingNetwork.DiscardUnknown(m)
}

var xxx_messageInfo_ServingNetwork proto.InternalMessageInfo

func (m *ServingNetwork) GetMcc() string {
	if m != nil {
		return m.Mcc
	}
	return ""
}

func (m *ServingNetwork) GetMnc() string {
	if m != nil {
		return m.Mnc
	}
	return ""
}

type ProtocolConfigurationOptions struct {
	ConfigProtocol       uint32                      `protobuf:"varint,1,opt,name=config_protocol,json=configProtocol,proto3" json:"config_protocol,omitempty"`
	ProtoOrContainerId   []*PcoProtocolOrContainerId `protobuf:"bytes,2,rep,name=proto_or_container_id,json=protoOrContainerId,proto3" json:"proto_or_container_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *ProtocolConfigurationOptions) Reset()         { *m = ProtocolConfigurationOptions{} }
func (m *ProtocolConfigurationOptions) String() string { return proto.CompactTextString(m) }
func (*ProtocolConfigurationOptions) ProtoMessage()    {}
func (*ProtocolConfigurationOptions) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{3}
}

func (m *ProtocolConfigurationOptions) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProtocolConfigurationOptions.Unmarshal(m, b)
}
func (m *ProtocolConfigurationOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProtocolConfigurationOptions.Marshal(b, m, deterministic)
}
func (m *ProtocolConfigurationOptions) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProtocolConfigurationOptions.Merge(m, src)
}
func (m *ProtocolConfigurationOptions) XXX_Size() int {
	return xxx_messageInfo_ProtocolConfigurationOptions.Size(m)
}
func (m *ProtocolConfigurationOptions) XXX_DiscardUnknown() {
	xxx_messageInfo_ProtocolConfigurationOptions.DiscardUnknown(m)
}

var xxx_messageInfo_ProtocolConfigurationOptions proto.InternalMessageInfo

func (m *ProtocolConfigurationOptions) GetConfigProtocol() uint32 {
	if m != nil {
		return m.ConfigProtocol
	}
	return 0
}

func (m *ProtocolConfigurationOptions) GetProtoOrContainerId() []*PcoProtocolOrContainerId {
	if m != nil {
		return m.ProtoOrContainerId
	}
	return nil
}

type PcoProtocolOrContainerId struct {
	Id                   uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Contents             []byte   `protobuf:"bytes,2,opt,name=contents,proto3" json:"contents,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PcoProtocolOrContainerId) Reset()         { *m = PcoProtocolOrContainerId{} }
func (m *PcoProtocolOrContainerId) String() string { return proto.CompactTextString(m) }
func (*PcoProtocolOrContainerId) ProtoMessage()    {}
func (*PcoProtocolOrContainerId) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{4}
}

func (m *PcoProtocolOrContainerId) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PcoProtocolOrContainerId.Unmarshal(m, b)
}
func (m *PcoProtocolOrContainerId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PcoProtocolOrContainerId.Marshal(b, m, deterministic)
}
func (m *PcoProtocolOrContainerId) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PcoProtocolOrContainerId.Merge(m, src)
}
func (m *PcoProtocolOrContainerId) XXX_Size() int {
	return xxx_messageInfo_PcoProtocolOrContainerId.Size(m)
}
func (m *PcoProtocolOrContainerId) XXX_DiscardUnknown() {
	xxx_messageInfo_PcoProtocolOrContainerId.DiscardUnknown(m)
}

var xxx_messageInfo_PcoProtocolOrContainerId proto.InternalMessageInfo

func (m *PcoProtocolOrContainerId) GetId() uint32 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *PcoProtocolOrContainerId) GetContents() []byte {
	if m != nil {
		return m.Contents
	}
	return nil
}

type BearerContext struct {
	Id                   uint32                   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	UserPlaneFteid       *Fteid                   `protobuf:"bytes,2,opt,name=user_plane_fteid,json=userPlaneFteid,proto3" json:"user_plane_fteid,omitempty"`
	Qos                  *QosInformation          `protobuf:"bytes,3,opt,name=qos,proto3" json:"qos,omitempty"`
	ChargingId           uint32                   `protobuf:"varint,4,opt,name=charging_id,json=chargingId,proto3" json:"charging_id,omitempty"`
	Tft                  *oai.TrafficFlowTemplate `protobuf:"bytes,5,opt,name=tft,proto3" json:"tft,omitempty"`
	Cause                uint32                   `protobuf:"varint,6,opt,name=cause,proto3" json:"cause,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *BearerContext) Reset()         { *m = BearerContext{} }
func (m *BearerContext) String() string { return proto.CompactTextString(m) }
func (*BearerContext) ProtoMessage()    {}
func (*BearerContext) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{5}
}

func (m *BearerContext) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BearerContext.Unmarshal(m, b)
}
func (m *BearerContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BearerContext.Marshal(b, m, deterministic)
}
func (m *BearerContext) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BearerContext.Merge(m, src)
}
func (m *BearerContext) XXX_Size() int {
	return xxx_messageInfo_BearerContext.Size(m)
}
func (m *BearerContext) XXX_DiscardUnknown() {
	xxx_messageInfo_BearerContext.DiscardUnknown(m)
}

var xxx_messageInfo_BearerContext proto.InternalMessageInfo

func (m *BearerContext) GetId() uint32 {
	if m != nil {
		return m.Id
	}
	return 0
}

func (m *BearerContext) GetUserPlaneFteid() *Fteid {
	if m != nil {
		return m.UserPlaneFteid
	}
	return nil
}

func (m *BearerContext) GetQos() *QosInformation {
	if m != nil {
		return m.Qos
	}
	return nil
}

func (m *BearerContext) GetChargingId() uint32 {
	if m != nil {
		return m.ChargingId
	}
	return 0
}

func (m *BearerContext) GetTft() *oai.TrafficFlowTemplate {
	if m != nil {
		return m.Tft
	}
	return nil
}

func (m *BearerContext) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

type QosInformation struct {
	Pci                     uint32   `protobuf:"varint,1,opt,name=pci,proto3" json:"pci,omitempty"`
	PriorityLevel           uint32   `protobuf:"varint,2,opt,name=priority_level,json=priorityLevel,proto3" json:"priority_level,omitempty"`
	PreemptionCapability    uint32   `protobuf:"varint,3,opt,name=preemption_capability,json=preemptionCapability,proto3" json:"preemption_capability,omitempty"`
	PreemptionVulnerability uint32   `protobuf:"varint,4,opt,name=preemption_vulnerability,json=preemptionVulnerability,proto3" json:"preemption_vulnerability,omitempty"`
	Qci                     uint32   `protobuf:"varint,5,opt,name=qci,proto3" json:"qci,omitempty"`
	Gbr                     *Ambr    `protobuf:"bytes,6,opt,name=gbr,proto3" json:"gbr,omitempty"`
	Mbr                     *Ambr    `protobuf:"bytes,7,opt,name=mbr,proto3" json:"mbr,omitempty"`
	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
	XXX_unrecognized        []byte   `json:"-"`
	XXX_sizecache           int32    `json:"-"`
}

func (m *QosInformation) Reset()         { *m = QosInformation{} }
func (m *QosInformation) String() string { return proto.CompactTextString(m) }
func (*QosInformation) ProtoMessage()    {}
func (*QosInformation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{6}
}

func (m *QosInformation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QosInformation.Unmarshal(m, b)
}
func (m *QosInformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QosInformation.Marshal(b, m, deterministic)
}
func (m *QosInformation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QosInformation.Merge(m, src)
}
func (m *QosInformation) XXX_Size() int {
	return xxx_messageInfo_QosInformation.Size(m)
}
func (m *QosInformation) XXX_DiscardUnknown() {
	xxx_messageInfo_QosInformation.DiscardUnknown(m)
}

var xxx_messageInfo_QosInformation proto.InternalMessageInfo

func (m *QosInformation) GetPci() uint32 {
	if m != nil {
		return m.Pci
	}
	return 0
}

func (m *QosInformation) GetPriorityLevel() uint32 {
	if m != nil {
		return m.PriorityLevel
	}
	return 0
}

func (m *QosInformation) GetPreemptionCapability() uint32 {
	if m != nil {
		return m.PreemptionCapability
	}
	return 0
}

func (m *QosInformation) GetPreemptionVulnerability() uint32 {
	if m != nil {
		return m.PreemptionVulnerability
	}
	return 0
}

func (m *QosInformation) GetQci() uint32 {
	if m != nil {
		return m.Qci
	}
	return 0
}

func (m *QosInformation) GetGbr() *Ambr {
	if m != nil {
		return m.Gbr
	}
	return nil
}

func (m *QosInformation) GetMbr() *Ambr {
	if m != nil {
		return m.Mbr
	}
	return nil
}

type Ambr struct {
	BrUl                 uint64   `protobuf:"varint,1,opt,name=br_ul,json=brUl,proto3" json:"br_ul,omitempty"`
	BrDl                 uint64   `protobuf:"varint,2,opt,name=br_dl,json=brDl,proto3" json:"br_dl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Ambr) Reset()         { *m = Ambr{} }
func (m *Ambr) String() string { return proto.CompactTextString(m) }
func (*Ambr) ProtoMessage()    {}
func (*Ambr) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{7}
}

func (m *Ambr) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Ambr.Unmarshal(m, b)
}
func (m *Ambr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Ambr.Marshal(b, m, deterministic)
}
func (m *Ambr) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Ambr.Merge(m, src)
}
func (m *Ambr) XXX_Size() int {
	return xxx_messageInfo_Ambr.Size(m)
}
func (m *Ambr) XXX_DiscardUnknown() {
	xxx_messageInfo_Ambr.DiscardUnknown(m)
}

var xxx_messageInfo_Ambr proto.InternalMessageInfo

func (m *Ambr) GetBrUl() uint64 {
	if m != nil {
		return m.BrUl
	}
	return 0
}

func (m *Ambr) GetBrDl() uint64 {
	if m != nil {
		return m.BrDl
	}
	return 0
}

type PdnAddressAllocation struct {
	Ipv4Address          string   `protobuf:"bytes,1,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"`
	Ipv6Address          string   `protobuf:"bytes,2,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"`
	Ipv6Prefix           uint32   `protobuf:"varint,3,opt,name=ipv6_prefix,json=ipv6Prefix,proto3" json:"ipv6_prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PdnAddressAllocation) Reset()         { *m = PdnAddressAllocation{} }
func (m *PdnAddressAllocation) String() string { return proto.CompactTextString(m) }
func (*PdnAddressAllocation) ProtoMessage()    {}
func (*PdnAddressAllocation) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{8}
}

func (m *PdnAddressAllocation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PdnAddressAllocation.Unmarshal(m, b)
}
func (m *PdnAddressAllocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PdnAddressAllocation.Marshal(b, m, deterministic)
}
func (m *PdnAddressAllocation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PdnAddressAllocation.Merge(m, src)
}
func (m *PdnAddressAllocation) XXX_Size() int {
	return xxx_messageInfo_PdnAddressAllocation.Size(m)
}
func (m *PdnAddressAllocation) XXX_DiscardUnknown() {
	xxx_messageInfo_PdnAddressAllocation.DiscardUnknown(m)
}

var xxx_messageInfo_PdnAddressAllocation proto.InternalMessageInfo

func (m *PdnAddressAllocation) GetIpv4Address() string {
	if m != nil {
		return m.Ipv4Address
	}
	return ""
}

func (m *PdnAddressAllocation) GetIpv6Address() string {
	if m != nil {
		return m.Ipv6Address
	}
	return ""
}

func (m *PdnAddressAllocation) GetIpv6Prefix() uint32 {
	if m != nil {
		return m.Ipv6Prefix
	}
	return 0
}

type TimeZone struct {
	// delta in seconds from UTC
	DeltaSeconds int32 `protobuf:"varint,1,opt,name=delta_seconds,json=deltaSeconds,proto3" json:"delta_seconds,omitempty"`
	// Set to 0 for non daylight savings
	DaylightSavingTime   uint32   `protobuf:"varint,2,opt,name=daylight_saving_time,json=daylightSavingTime,proto3" json:"daylight_saving_time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TimeZone) Reset()         { *m = TimeZone{} }
func (m *TimeZone) String() string { return proto.CompactTextString(m) }
func (*TimeZone) ProtoMessage()    {}
func (*TimeZone) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{9}
}

func (m *TimeZone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TimeZone.Unmarshal(m, b)
}
func (m *TimeZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TimeZone.Marshal(b, m, deterministic)
}
func (m *TimeZone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TimeZone.Merge(m, src)
}
func (m *TimeZone) XXX_Size() int {
	return xxx_messageInfo_TimeZone.Size(m)
}
func (m *TimeZone) XXX_DiscardUnknown() {
	xxx_messageInfo_TimeZone.DiscardUnknown(m)
}

var xxx_messageInfo_TimeZone proto.InternalMessageInfo

func (m *TimeZone) GetDeltaSeconds() int32 {
	if m != nil {
		return m.DeltaSeconds
	}
	return 0
}

func (m *TimeZone) GetDaylightSavingTime() uint32 {
	if m != nil {
		return m.DaylightSavingTime
	}
	return 0
}

type Fteid struct {
	Ipv4Address          string   `protobuf:"bytes,1,opt,name=ipv4_address,json=ipv4Address,proto3" json:"ipv4_address,omitempty"`
	Ipv6Address          string   `protobuf:"bytes,2,opt,name=ipv6_address,json=ipv6Address,proto3" json:"ipv6_address,omitempty"`
	Teid                 uint32   `protobuf:"varint,3,opt,name=teid,proto3" json:"teid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Fteid) Reset()         { *m = Fteid{} }
func (m *Fteid) String() string { return proto.CompactTextString(m) }
func (*Fteid) ProtoMessage()    {}
func (*Fteid) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{10}
}

func (m *Fteid) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Fteid.Unmarshal(m, b)
}
func (m *Fteid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Fteid.Marshal(b, m, deterministic)
}
func (m *Fteid) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Fteid.Merge(m, src)
}
func (m *Fteid) XXX_Size() int {
	return xxx_messageInfo_Fteid.Size(m)
}
func (m *Fteid) XXX_DiscardUnknown() {
	xxx_messageInfo_Fteid.DiscardUnknown(m)
}

var xxx_messageInfo_Fteid proto.InternalMessageInfo

func (m *Fteid) GetIpv4Address() string {
	if m != nil {
		return m.Ipv4Address
	}
	return ""
}

func (m *Fteid) GetIpv6Address() string {
	if m != nil {
		return m.Ipv6Address
	}
	return ""
}

func (m *Fteid) GetTeid() uint32 {
	if m != nil {
		return m.Teid
	}
	return 0
}

type CreateSessionResponsePgw struct {
	PdnType PDNType `protobuf:"varint,1,opt,name=pdn_type,json=pdnType,proto3,enum=magma.feg.PDNType" json:"pdn_type,omitempty"`
	// subscriber_ip
	Paa                          *PdnAddressAllocation         `protobuf:"bytes,2,opt,name=paa,proto3" json:"paa,omitempty"`
	ApnRestriction               uint32                        `protobuf:"varint,3,opt,name=apn_restriction,json=apnRestriction,proto3" json:"apn_restriction,omitempty"`
	CAgwTeid                     uint32                        `protobuf:"varint,4,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	CPgwFteid                    *Fteid                        `protobuf:"bytes,5,opt,name=c_pgw_fteid,json=cPgwFteid,proto3" json:"c_pgw_fteid,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,6,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,7,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	GtpError                     *GtpError                     `protobuf:"bytes,8,opt,name=gtp_error,json=gtpError,proto3" json:"gtp_error,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateSessionResponsePgw) Reset()         { *m = CreateSessionResponsePgw{} }
func (m *CreateSessionResponsePgw) String() string { return proto.CompactTextString(m) }
func (*CreateSessionResponsePgw) ProtoMessage()    {}
func (*CreateSessionResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{11}
}

func (m *CreateSessionResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateSessionResponsePgw.Unmarshal(m, b)
}
func (m *CreateSessionResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateSessionResponsePgw.Marshal(b, m, deterministic)
}
func (m *CreateSessionResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateSessionResponsePgw.Merge(m, src)
}
func (m *CreateSessionResponsePgw) XXX_Size() int {
	return xxx_messageInfo_CreateSessionResponsePgw.Size(m)
}
func (m *CreateSessionResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateSessionResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateSessionResponsePgw proto.InternalMessageInfo

func (m *CreateSessionResponsePgw) GetPdnType() PDNType {
	if m != nil {
		return m.PdnType
	}
	return PDNType_UNUSED
}

func (m *CreateSessionResponsePgw) GetPaa() *PdnAddressAllocation {
	if m != nil {
		return m.Paa
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetApnRestriction() uint32 {
	if m != nil {
		return m.ApnRestriction
	}
	return 0
}

func (m *CreateSessionResponsePgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateSessionResponsePgw) GetCPgwFteid() *Fteid {
	if m != nil {
		return m.CPgwFteid
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateSessionResponsePgw) GetGtpError() *GtpError {
	if m != nil {
		return m.GtpError
	}
	return nil
}

type DeleteSessionRequestPgw struct {
	PgwAddrs             string                   `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi                 string                   `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	BearerId             uint32                   `protobuf:"varint,3,opt,name=bearer_id,json=bearerId,proto3" json:"bearer_id,omitempty"`
	CAgwTeid             uint32                   `protobuf:"varint,4,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	CPgwTeid             uint32                   `protobuf:"varint,5,opt,name=c_pgw_teid,json=cPgwTeid,proto3" json:"c_pgw_teid,omitempty"`
	ServingNetwork       *ServingNetwork          `protobuf:"bytes,6,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Uli                  *UserLocationInformation `protobuf:"bytes,7,opt,name=uli,proto3" json:"uli,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *DeleteSessionRequestPgw) Reset()         { *m = DeleteSessionRequestPgw{} }
func (m *DeleteSessionRequestPgw) String() string { return proto.CompactTextString(m) }
func (*DeleteSessionRequestPgw) ProtoMessage()    {}
func (*DeleteSessionRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{12}
}

func (m *DeleteSessionRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteSessionRequestPgw.Unmarshal(m, b)
}
func (m *DeleteSessionRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteSessionRequestPgw.Marshal(b, m, deterministic)
}
func (m *DeleteSessionRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteSessionRequestPgw.Merge(m, src)
}
func (m *DeleteSessionRequestPgw) XXX_Size() int {
	return xxx_messageInfo_DeleteSessionRequestPgw.Size(m)
}
func (m *DeleteSessionRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteSessionRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteSessionRequestPgw proto.InternalMessageInfo

func (m *DeleteSessionRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *DeleteSessionRequestPgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *DeleteSessionRequestPgw) GetBearerId() uint32 {
	if m != nil {
		return m.BearerId
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetCPgwTeid() uint32 {
	if m != nil {
		return m.CPgwTeid
	}
	return 0
}

func (m *DeleteSessionRequestPgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *DeleteSessionRequestPgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

type DeleteSessionResponsePgw struct {
	GtpError             *GtpError `protobuf:"bytes,1,opt,name=gtp_error,json=gtpError,proto3" json:"gtp_error,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *DeleteSessionResponsePgw) Reset()         { *m = DeleteSessionResponsePgw{} }
func (m *DeleteSessionResponsePgw) String() string { return proto.CompactTextString(m) }
func (*DeleteSessionResponsePgw) ProtoMessage()    {}
func (*DeleteSessionResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{13}
}

func (m *DeleteSessionResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteSessionResponsePgw.Unmarshal(m, b)
}
func (m *DeleteSessionResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteSessionResponsePgw.Marshal(b, m, deterministic)
}
func (m *DeleteSessionResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteSessionResponsePgw.Merge(m, src)
}
func (m *DeleteSessionResponsePgw) XXX_Size() int {
	return xxx_messageInfo_DeleteSessionResponsePgw.Size(m)
}
func (m *DeleteSessionResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteSessionResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteSessionResponsePgw proto.InternalMessageInfo

func (m *DeleteSessionResponsePgw) GetGtpError() *GtpError {
	if m != nil {
		return m.GtpError
	}
	return nil
}

type CreateBearerRequestPgw struct {
	PgwAddrs       string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	SequenceNumber uint32 `protobuf:"varint,2,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`
	// control plane TEID given by AGW during CreateSession
	CAgwTeid                     uint32                        `protobuf:"varint,3,opt,name=c_agw_teid,json=cAgwTeid,proto3" json:"c_agw_teid,omitempty"`
	LinkedBearerId               uint32                        `protobuf:"varint,4,opt,name=linked_bearer_id,json=linkedBearerId,proto3" json:"linked_bearer_id,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,5,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,6,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	IndicationFlag               []byte                        `protobuf:"bytes,7,opt,name=indication_flag,json=indicationFlag,proto3" json:"indication_flag,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateBearerRequestPgw) Reset()         { *m = CreateBearerRequestPgw{} }
func (m *CreateBearerRequestPgw) String() string { return proto.CompactTextString(m) }
func (*CreateBearerRequestPgw) ProtoMessage()    {}
func (*CreateBearerRequestPgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{14}
}

func (m *CreateBearerRequestPgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateBearerRequestPgw.Unmarshal(m, b)
}
func (m *CreateBearerRequestPgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateBearerRequestPgw.Marshal(b, m, deterministic)
}
func (m *CreateBearerRequestPgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateBearerRequestPgw.Merge(m, src)
}
func (m *CreateBearerRequestPgw) XXX_Size() int {
	return xxx_messageInfo_CreateBearerRequestPgw.Size(m)
}
func (m *CreateBearerRequestPgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateBearerRequestPgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateBearerRequestPgw proto.InternalMessageInfo

func (m *CreateBearerRequestPgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateBearerRequestPgw) GetSequenceNumber() uint32 {
	if m != nil {
		return m.SequenceNumber
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetCAgwTeid() uint32 {
	if m != nil {
		return m.CAgwTeid
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetLinkedBearerId() uint32 {
	if m != nil {
		return m.LinkedBearerId
	}
	return 0
}

func (m *CreateBearerRequestPgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateBearerRequestPgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateBearerRequestPgw) GetIndicationFlag() []byte {
	if m != nil {
		return m.IndicationFlag
	}
	return nil
}

type CreateBearerResponsePgw struct {
	// same as pgwAddr as in CreateBeaererRequest.pgwAddrs
	PgwAddrs       string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	Imsi           string `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	SequenceNumber uint32 `protobuf:"varint,3,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`
	// control plane TEID given by PGW during CreateSession
	CPgwTeid uint32 `protobuf:"varint,4,opt,name=c_pgw_teid,json=cPgwTeid,proto3" json:"c_pgw_teid,omitempty"`
	// same as in CreateBearerRequestPgw.BearerContext.user_plane_fteid
	UPgwFteid                    *Fteid                        `protobuf:"bytes,5,opt,name=u_pgw_fteid,json=uPgwFteid,proto3" json:"u_pgw_fteid,omitempty"`
	ServingNetwork               *ServingNetwork               `protobuf:"bytes,6,opt,name=serving_network,json=servingNetwork,proto3" json:"serving_network,omitempty"`
	Cause                        uint32                        `protobuf:"varint,7,opt,name=cause,proto3" json:"cause,omitempty"`
	BearerContext                *BearerContext                `protobuf:"bytes,8,opt,name=bearer_context,json=bearerContext,proto3" json:"bearer_context,omitempty"`
	ProtocolConfigurationOptions *ProtocolConfigurationOptions `protobuf:"bytes,9,opt,name=protocol_configuration_options,json=protocolConfigurationOptions,proto3" json:"protocol_configuration_options,omitempty"`
	TimeZone                     *TimeZone                     `protobuf:"bytes,10,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
	Uli                          *UserLocationInformation      `protobuf:"bytes,11,opt,name=uli,proto3" json:"uli,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                      `json:"-"`
	XXX_unrecognized             []byte                        `json:"-"`
	XXX_sizecache                int32                         `json:"-"`
}

func (m *CreateBearerResponsePgw) Reset()         { *m = CreateBearerResponsePgw{} }
func (m *CreateBearerResponsePgw) String() string { return proto.CompactTextString(m) }
func (*CreateBearerResponsePgw) ProtoMessage()    {}
func (*CreateBearerResponsePgw) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{15}
}

func (m *CreateBearerResponsePgw) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateBearerResponsePgw.Unmarshal(m, b)
}
func (m *CreateBearerResponsePgw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateBearerResponsePgw.Marshal(b, m, deterministic)
}
func (m *CreateBearerResponsePgw) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateBearerResponsePgw.Merge(m, src)
}
func (m *CreateBearerResponsePgw) XXX_Size() int {
	return xxx_messageInfo_CreateBearerResponsePgw.Size(m)
}
func (m *CreateBearerResponsePgw) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateBearerResponsePgw.DiscardUnknown(m)
}

var xxx_messageInfo_CreateBearerResponsePgw proto.InternalMessageInfo

func (m *CreateBearerResponsePgw) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *CreateBearerResponsePgw) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

func (m *CreateBearerResponsePgw) GetSequenceNumber() uint32 {
	if m != nil {
		return m.SequenceNumber
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetCPgwTeid() uint32 {
	if m != nil {
		return m.CPgwTeid
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetUPgwFteid() *Fteid {
	if m != nil {
		return m.UPgwFteid
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetServingNetwork() *ServingNetwork {
	if m != nil {
		return m.ServingNetwork
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

func (m *CreateBearerResponsePgw) GetBearerContext() *BearerContext {
	if m != nil {
		return m.BearerContext
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetProtocolConfigurationOptions() *ProtocolConfigurationOptions {
	if m != nil {
		return m.ProtocolConfigurationOptions
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetTimeZone() *TimeZone {
	if m != nil {
		return m.TimeZone
	}
	return nil
}

func (m *CreateBearerResponsePgw) GetUli() *UserLocationInformation {
	if m != nil {
		return m.Uli
	}
	return nil
}

type EchoRequest struct {
	// Ip:port of pgw to send the request
	PgwAddrs string `protobuf:"bytes,1,opt,name=pgwAddrs,proto3" json:"pgwAddrs,omitempty"`
	// needed for nh in feg
	Imsi                 string   `protobuf:"bytes,2,opt,name=imsi,proto3" json:"imsi,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EchoRequest) Reset()         { *m = EchoRequest{} }
func (m *EchoRequest) String() string { return proto.CompactTextString(m) }
func (*EchoRequest) ProtoMessage()    {}
func (*EchoRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{16}
}

func (m *EchoRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EchoRequest.Unmarshal(m, b)
}
func (m *EchoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EchoRequest.Marshal(b, m, deterministic)
}
func (m *EchoRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EchoRequest.Merge(m, src)
}
func (m *EchoRequest) XXX_Size() int {
	return xxx_messageInfo_EchoRequest.Size(m)
}
func (m *EchoRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_EchoRequest.DiscardUnknown(m)
}

var xxx_messageInfo_EchoRequest proto.InternalMessageInfo

func (m *EchoRequest) GetPgwAddrs() string {
	if m != nil {
		return m.PgwAddrs
	}
	return ""
}

func (m *EchoRequest) GetImsi() string {
	if m != nil {
		return m.Imsi
	}
	return ""
}

type EchoResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EchoResponse) Reset()         { *m = EchoResponse{} }
func (m *EchoResponse) String() string { return proto.CompactTextString(m) }
func (*EchoResponse) ProtoMessage()    {}
func (*EchoResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{17}
}

func (m *EchoResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EchoResponse.Unmarshal(m, b)
}
func (m *EchoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EchoResponse.Marshal(b, m, deterministic)
}
func (m *EchoResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EchoResponse.Merge(m, src)
}
func (m *EchoResponse) XXX_Size() int {
	return xxx_messageInfo_EchoResponse.Size(m)
}
func (m *EchoResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_EchoResponse.DiscardUnknown(m)
}

var xxx_messageInfo_EchoResponse proto.InternalMessageInfo

type GtpError struct {
	Cause                uint32   `protobuf:"varint,1,opt,name=cause,proto3" json:"cause,omitempty"`
	Msg                  string   `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GtpError) Reset()         { *m = GtpError{} }
func (m *GtpError) String() string { return proto.CompactTextString(m) }
func (*GtpError) ProtoMessage()    {}
func (*GtpError) Descriptor() ([]byte, []int) {
	return fileDescriptor_8a775e17ac280154, []int{18}
}

func (m *GtpError) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GtpError.Unmarshal(m, b)
}
func (m *GtpError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GtpError.Marshal(b, m, deterministic)
}
func (m *GtpError) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GtpError.Merge(m, src)
}
func (m *GtpError) XXX_Size() int {
	return xxx_messageInfo_GtpError.Size(m)
}
func (m *GtpError) XXX_DiscardUnknown() {
	xxx_messageInfo_GtpError.DiscardUnknown(m)
}

var xxx_messageInfo_GtpError proto.InternalMessageInfo

func (m *GtpError) GetCause() uint32 {
	if m != nil {
		return m.Cause
	}
	return 0
}

func (m *GtpError) GetMsg() string {
	if m != nil {
		return m.Msg
	}
	return ""
}

func init() {
	proto.RegisterEnum("magma.feg.PDNType", PDNType_name, PDNType_value)
	proto.RegisterEnum("magma.feg.RATType", RATType_name, RATType_value)
	proto.RegisterEnum("magma.feg.SelectionModeType", SelectionModeType_name, SelectionModeType_value)
	proto.RegisterType((*CreateSessionRequestPgw)(nil), "magma.feg.CreateSessionRequestPgw")
	proto.RegisterType((*UserLocationInformation)(nil), "magma.feg.UserLocationInformation")
	proto.RegisterType((*ServingNetwork)(nil), "magma.feg.ServingNetwork")
	proto.RegisterType((*ProtocolConfigurationOptions)(nil), "magma.feg.ProtocolConfigurationOptions")
	proto.RegisterType((*PcoProtocolOrContainerId)(nil), "magma.feg.PcoProtocolOrContainerId")
	proto.RegisterType((*BearerContext)(nil), "magma.feg.BearerContext")
	proto.RegisterType((*QosInformation)(nil), "magma.feg.QosInformation")
	proto.RegisterType((*Ambr)(nil), "magma.feg.Ambr")
	proto.RegisterType((*PdnAddressAllocation)(nil), "magma.feg.PdnAddressAllocation")
	proto.RegisterType((*TimeZone)(nil), "magma.feg.TimeZone")
	proto.RegisterType((*Fteid)(nil), "magma.feg.Fteid")
	proto.RegisterType((*CreateSessionResponsePgw)(nil), "magma.feg.CreateSessionResponsePgw")
	proto.RegisterType((*DeleteSessionRequestPgw)(nil), "magma.feg.DeleteSessionRequestPgw")
	proto.RegisterType((*DeleteSessionResponsePgw)(nil), "magma.feg.DeleteSessionResponsePgw")
	proto.RegisterType((*CreateBearerRequestPgw)(nil), "magma.feg.CreateBearerRequestPgw")
	proto.RegisterType((*CreateBearerResponsePgw)(nil), "magma.feg.CreateBearerResponsePgw")
	proto.RegisterType((*EchoRequest)(nil), "magma.feg.EchoRequest")
	proto.RegisterType((*EchoResponse)(nil), "magma.feg.EchoResponse")
	proto.RegisterType((*GtpError)(nil), "magma.feg.GtpError")
}

func init() { proto.RegisterFile("feg/protos/s8_proxy.proto", fileDescriptor_8a775e17ac280154) }

var fileDescriptor_8a775e17ac280154 = []byte{
	// 1816 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xdd, 0x6e, 0xdb, 0xca,
	0xf1, 0xb7, 0xbe, 0x2c, 0x69, 0x6c, 0xc9, 0xcc, 0x1e, 0xff, 0x63, 0xc6, 0x27, 0xf8, 0xc7, 0x61,
	0x7a, 0x1a, 0x37, 0x45, 0x6d, 0xd7, 0x27, 0x08, 0xd2, 0x02, 0x07, 0xad, 0xec, 0xd8, 0xa9, 0x01,
	0x47, 0x51, 0x69, 0xd9, 0x05, 0x72, 0x43, 0xac, 0xc8, 0x15, 0xb3, 0x38, 0x24, 0x97, 0xde, 0xa5,
	0xec, 0xb8, 0x40, 0x1f, 0xa0, 0x40, 0x6f, 0x7a, 0x5f, 0xa0, 0xcf, 0x50, 0xa0, 0x2f, 0xd2, 0xab,
	0xde, 0xf5, 0x2d, 0x7a, 0x5b, 0x14, 0xfb, 0x41, 0x89, 0xb2, 0xa5, 0xda, 0x6e, 0x7d, 0xa5, 0xd9,
	0x99, 0xdf, 0x2e, 0x77, 0x67, 0x7e, 0x33, 0xb3, 0x2b, 0x78, 0x32, 0x24, 0xe1, 0x76, 0xca, 0x59,
	0xc6, 0xc4, 0xb6, 0x78, 0xeb, 0xa5, 0x9c, 0x7d, 0xb9, 0xda, 0x52, 0x63, 0xd4, 0x8c, 0x71, 0x18,
	0xe3, 0xad, 0x21, 0x09, 0xd7, 0x9f, 0x45, 0x19, 0xc9, 0x51, 0x0c, 0xd3, 0x6d, 0x91, 0x86, 0x97,
	0x9e, 0xc8, 0x70, 0x46, 0x34, 0x76, 0xfd, 0x09, 0xe3, 0xfe, 0x5b, 0x9e, 0x43, 0x7c, 0x16, 0xc7,
	0x2c, 0xd1, 0x26, 0xe7, 0x1f, 0x8b, 0xb0, 0xb6, 0xcf, 0x09, 0xce, 0xc8, 0x09, 0x11, 0x82, 0xb2,
	0xc4, 0x25, 0xe7, 0x23, 0x22, 0xb2, 0x5e, 0x78, 0x89, 0xd6, 0xa1, 0x91, 0x86, 0x97, 0x9d, 0x20,
	0xe0, 0xc2, 0x2e, 0x6d, 0x94, 0x36, 0x9b, 0xee, 0x78, 0x8c, 0x10, 0x54, 0x69, 0x2c, 0xa8, 0x5d,
	0x56, 0x7a, 0x25, 0xa3, 0xc7, 0xb0, 0x18, 0x0b, 0x2a, 0x82, 0xc4, 0xae, 0x28, 0xad, 0x19, 0x21,
	0x0b, 0x2a, 0x31, 0xa1, 0x76, 0x55, 0x29, 0xa5, 0x88, 0xf6, 0x60, 0x45, 0x10, 0x7e, 0x41, 0x93,
	0xd0, 0x4b, 0x48, 0x76, 0xc9, 0xf8, 0xf7, 0x76, 0x6d, 0xa3, 0xb4, 0xb9, 0xb4, 0xfb, 0x64, 0x6b,
	0x7c, 0xac, 0xad, 0x13, 0x8d, 0xe8, 0x6a, 0x80, 0xdb, 0x16, 0x53, 0x63, 0xf4, 0x1a, 0x2a, 0xa3,
	0x88, 0xda, 0x8b, 0x6a, 0x9e, 0x53, 0x98, 0x77, 0x2a, 0x08, 0x3f, 0x66, 0x3e, 0xce, 0x28, 0x4b,
	0x8e, 0x92, 0x21, 0xe3, 0xb1, 0x12, 0x5d, 0x09, 0x47, 0x3f, 0x81, 0x06, 0xc7, 0x99, 0x97, 0x5d,
	0xa5, 0xc4, 0xae, 0x6f, 0x94, 0x36, 0xdb, 0xbb, 0xa8, 0x30, 0xd5, 0xed, 0xf4, 0xfb, 0x57, 0x29,
	0x71, 0xeb, 0x1c, 0x67, 0x52, 0x90, 0xf0, 0x34, 0x48, 0x34, 0xbc, 0x71, 0x03, 0xde, 0x7b, 0xd7,
	0xd5, 0xf0, 0x34, 0x48, 0x14, 0xfc, 0xa7, 0x50, 0x49, 0x31, 0xb6, 0x9b, 0x6a, 0x4f, 0xcf, 0x8a,
	0xc8, 0x20, 0x91, 0x7e, 0x23, 0x42, 0x74, 0xa2, 0xc8, 0xec, 0xcd, 0x95, 0x58, 0xe9, 0x1c, 0x9c,
	0x26, 0x36, 0x68, 0xe7, 0xe0, 0x34, 0x41, 0x2f, 0xa0, 0x8a, 0xe3, 0x01, 0xb7, 0x97, 0xd4, 0x2a,
	0x2b, 0x85, 0x55, 0x3a, 0xf1, 0x80, 0xbb, 0xca, 0x88, 0xf6, 0xa1, 0x2d, 0x48, 0x44, 0x7c, 0xb9,
	0x90, 0x17, 0xb3, 0x80, 0xd8, 0xcb, 0x6a, 0x7b, 0x4f, 0xa7, 0x1c, 0x68, 0x00, 0x1f, 0x58, 0x40,
	0xd4, 0x46, 0x5b, 0xa2, 0xa8, 0x42, 0xbf, 0x80, 0xf6, 0x80, 0x60, 0x4e, 0xb8, 0xe7, 0xb3, 0x24,
	0x23, 0x5f, 0x32, 0xbb, 0xa5, 0xbe, 0x69, 0x17, 0x16, 0xd9, 0x53, 0x80, 0x7d, 0x6d, 0x77, 0x5b,
	0x83, 0xe2, 0x10, 0x3d, 0x05, 0xf0, 0x3d, 0x1c, 0x5e, 0x7a, 0x19, 0xa1, 0x81, 0xdd, 0xde, 0x28,
	0x6d, 0xb6, 0xdc, 0x86, 0xdf, 0x09, 0x2f, 0xfb, 0x84, 0x06, 0x28, 0x86, 0xff, 0x57, 0x24, 0xf3,
	0x59, 0x24, 0x3f, 0x30, 0xa4, 0xe1, 0x88, 0xab, 0x93, 0x7b, 0x2c, 0x95, 0x3f, 0xc2, 0x5e, 0x51,
	0x9f, 0x7b, 0x59, 0x74, 0x94, 0x99, 0xb0, 0x5f, 0xc4, 0x7f, 0xd4, 0x70, 0xf7, 0x69, 0xfa, 0x1f,
	0xac, 0xe8, 0x25, 0xac, 0xd0, 0x24, 0xa0, 0xda, 0xb9, 0xde, 0x30, 0xc2, 0xa1, 0x6d, 0x6d, 0x94,
	0x36, 0x97, 0xdd, 0xf6, 0x44, 0x7d, 0x18, 0xe1, 0x10, 0xfd, 0x0c, 0x6c, 0xff, 0x33, 0xe6, 0xa1,
	0xa4, 0x9f, 0x14, 0xb0, 0x9f, 0x11, 0x4e, 0x45, 0x46, 0x7d, 0x61, 0x3f, 0x52, 0x71, 0x58, 0xcb,
	0xed, 0xfb, 0xd3, 0x66, 0xb4, 0x03, 0xcd, 0x8c, 0xc6, 0xc4, 0xfb, 0x2d, 0x4b, 0x88, 0x8d, 0xd4,
	0xee, 0xbf, 0x2a, 0xec, 0xbe, 0x4f, 0x63, 0xf2, 0x89, 0x25, 0xc4, 0x6d, 0x64, 0x46, 0x72, 0xfe,
	0x52, 0x82, 0xb5, 0x39, 0x8c, 0x94, 0xb1, 0x8f, 0xb0, 0xaf, 0x72, 0xab, 0xe5, 0x4a, 0x11, 0xb5,
	0xa1, 0xec, 0xeb, 0xa4, 0x6a, 0xb9, 0x65, 0x9f, 0x4a, 0x84, 0xc0, 0xbe, 0xca, 0xa7, 0x96, 0x2b,
	0x45, 0xa9, 0xe1, 0xd8, 0x57, 0xc9, 0xd4, 0x72, 0xa5, 0x28, 0x35, 0x19, 0xf6, 0x55, 0x02, 0xb5,
	0x5c, 0x29, 0x4a, 0x0d, 0xf1, 0x75, 0x6a, 0xb4, 0x5c, 0x29, 0xa2, 0x55, 0xa8, 0x7d, 0x20, 0xdd,
	0x01, 0x55, 0x9c, 0x6f, 0xb9, 0x7a, 0x20, 0x13, 0xf6, 0x40, 0xab, 0x1b, 0x4a, 0x6d, 0x46, 0xce,
	0x6b, 0x68, 0x4f, 0x27, 0x9f, 0x4a, 0x61, 0xdf, 0x37, 0x55, 0x40, 0x8a, 0x4a, 0x93, 0xf8, 0x26,
	0xff, 0xa5, 0xe8, 0xfc, 0xb9, 0x04, 0x4f, 0x7b, 0xb7, 0x04, 0x48, 0xd3, 0xc0, 0xcb, 0xe3, 0x68,
	0x8e, 0xde, 0xd6, 0xea, 0x7c, 0x32, 0x3a, 0x83, 0xff, 0x53, 0x08, 0x8f, 0x69, 0x66, 0x62, 0x9a,
	0x10, 0xee, 0xd1, 0xc0, 0x2e, 0x6f, 0x54, 0x36, 0x97, 0x76, 0x5f, 0x14, 0xf9, 0xe2, 0xb3, 0x7c,
	0xda, 0x47, 0x45, 0x4b, 0x85, 0x3d, 0x0a, 0x5c, 0xa4, 0x56, 0x98, 0xd2, 0x39, 0x87, 0x60, 0xcf,
	0xc3, 0x4b, 0xcf, 0xd3, 0xc0, 0xec, 0xa7, 0x4c, 0x03, 0x59, 0xfc, 0x54, 0x52, 0x24, 0x99, 0x50,
	0x87, 0x5c, 0x76, 0xc7, 0x63, 0xe7, 0x9f, 0x25, 0x68, 0x4d, 0xe5, 0xc5, 0x8d, 0xd9, 0x3f, 0x07,
	0x6b, 0x24, 0x08, 0xf7, 0xd2, 0x08, 0x27, 0xc4, 0x1b, 0xaa, 0xf4, 0x28, 0x2b, 0xba, 0x58, 0x85,
	0xcd, 0x1f, 0x4a, 0xbd, 0xdb, 0x96, 0xc8, 0x9e, 0x04, 0xaa, 0x31, 0xfa, 0x31, 0x54, 0xce, 0x99,
	0x50, 0x31, 0x9f, 0x2e, 0x88, 0xbf, 0x66, 0x62, 0xaa, 0x9e, 0x9d, 0x33, 0x81, 0x9e, 0xc1, 0xd2,
	0x98, 0xcb, 0x34, 0x30, 0xb4, 0x80, 0x5c, 0x75, 0x14, 0xc8, 0x32, 0x99, 0x0d, 0x33, 0x53, 0x5e,
	0xf3, 0x32, 0x19, 0x65, 0x64, 0x8b, 0x61, 0xba, 0xd5, 0xe7, 0x78, 0x38, 0xa4, 0xfe, 0x61, 0xc4,
	0x2e, 0xfb, 0x24, 0x4e, 0x23, 0x9c, 0x11, 0x57, 0xc2, 0x25, 0x5f, 0x7c, 0x3c, 0x12, 0xc4, 0x70,
	0x48, 0x0f, 0x9c, 0x3f, 0x96, 0xa1, 0x3d, 0xbd, 0x09, 0x49, 0x83, 0xd4, 0xa7, 0x39, 0x85, 0x53,
	0x9f, 0xa2, 0x6f, 0xa0, 0x9d, 0x72, 0xca, 0x38, 0xcd, 0xae, 0xbc, 0x88, 0x5c, 0x90, 0xc8, 0xd0,
	0xb9, 0x95, 0x6b, 0x8f, 0xa5, 0x12, 0x7d, 0x2b, 0x63, 0x4c, 0x48, 0xac, 0xb8, 0xe1, 0xf9, 0x38,
	0xc5, 0x03, 0x1a, 0xd1, 0xec, 0xca, 0x70, 0x7d, 0x75, 0x62, 0xdc, 0x1f, 0xdb, 0x64, 0xe6, 0x16,
	0x26, 0x5d, 0x8c, 0xa2, 0x84, 0xf0, 0x7c, 0x9e, 0x3e, 0xfa, 0xda, 0xc4, 0x7e, 0x56, 0x34, 0xcb,
	0x8d, 0x9e, 0xfb, 0x34, 0xcf, 0x92, 0x73, 0x9f, 0xa2, 0xe7, 0x50, 0x09, 0x07, 0xdc, 0x34, 0x90,
	0x1b, 0x65, 0x56, 0xda, 0x24, 0x44, 0x56, 0xe2, 0xfa, 0x1c, 0x48, 0x3c, 0xe0, 0xce, 0x0e, 0x54,
	0xe5, 0x00, 0x7d, 0x05, 0xb5, 0x01, 0xf7, 0x46, 0x9a, 0xd2, 0x55, 0xb7, 0x3a, 0xe0, 0xa7, 0x91,
	0x51, 0x06, 0xda, 0x05, 0x4a, 0xf9, 0x2e, 0x72, 0x7e, 0x07, 0xab, 0xb3, 0xda, 0x01, 0x7a, 0x0e,
	0xcb, 0x34, 0xbd, 0x78, 0xed, 0x61, 0x6d, 0x31, 0xc9, 0xb6, 0x24, 0x75, 0x06, 0x6c, 0x20, 0x6f,
	0xc6, 0x90, 0xf2, 0x18, 0xf2, 0x26, 0x87, 0x3c, 0x03, 0x35, 0xf4, 0x52, 0x4e, 0x86, 0xf4, 0x8b,
	0xf1, 0x26, 0x48, 0x55, 0x4f, 0x69, 0x1c, 0x0c, 0x8d, 0xbc, 0x4c, 0xa1, 0x17, 0xd0, 0x0a, 0x48,
	0x94, 0x61, 0x4f, 0x10, 0x9f, 0x25, 0x81, 0xfe, 0x66, 0xcd, 0x5d, 0x56, 0xca, 0x13, 0xad, 0x43,
	0x3b, 0xb0, 0x1a, 0xe0, 0xab, 0x88, 0x86, 0x9f, 0x33, 0x4f, 0x60, 0xd5, 0xb4, 0x65, 0x75, 0x33,
	0x61, 0x45, 0xb9, 0xed, 0x44, 0x99, 0xe4, 0xd2, 0x0e, 0x86, 0x9a, 0xa6, 0xf2, 0xc3, 0x1c, 0x09,
	0x41, 0x55, 0x25, 0x90, 0x3e, 0x8b, 0x92, 0x9d, 0xbf, 0x57, 0xc0, 0xbe, 0x76, 0x6f, 0x11, 0x29,
	0x4b, 0x04, 0x91, 0x17, 0x97, 0x62, 0xd7, 0x2e, 0xdd, 0xb9, 0x6b, 0x97, 0xef, 0xd1, 0xb5, 0x5f,
	0xc2, 0x0a, 0x4e, 0x13, 0x8f, 0x13, 0x91, 0x71, 0xaa, 0x1a, 0xaa, 0xd9, 0x5d, 0x1b, 0xa7, 0x72,
	0x2b, 0xb9, 0xf6, 0x5a, 0x87, 0xac, 0x5e, 0xeb, 0x90, 0x3b, 0xb0, 0xe4, 0x7b, 0xf2, 0xb6, 0xa6,
	0x2b, 0x44, 0x6d, 0x4e, 0x85, 0x68, 0xfa, 0xbd, 0xf0, 0x52, 0x7b, 0xf4, 0x66, 0xcb, 0x5e, 0xbc,
	0x5f, 0xcb, 0xbe, 0xbd, 0x29, 0xd7, 0x1f, 0xb2, 0x29, 0xef, 0x40, 0x33, 0xcc, 0x52, 0x8f, 0x70,
	0xce, 0xb8, 0xea, 0x32, 0xd3, 0x0d, 0xf3, 0x7d, 0x96, 0x1e, 0x48, 0x93, 0xdb, 0x08, 0x8d, 0xe4,
	0xfc, 0xa9, 0x0c, 0x6b, 0xef, 0x48, 0x44, 0x1e, 0xe2, 0x46, 0xfa, 0x35, 0x34, 0x8d, 0xb7, 0xc6,
	0xf4, 0x69, 0x68, 0xc5, 0x51, 0x70, 0x4b, 0x68, 0x94, 0x35, 0xcd, 0xad, 0x35, 0x63, 0xed, 0x19,
	0xeb, 0x8c, 0x0b, 0xec, 0xe2, 0x7f, 0x79, 0x81, 0xad, 0xdf, 0xeb, 0x02, 0xeb, 0x1c, 0x83, 0x7d,
	0xcd, 0x3b, 0x13, 0xde, 0x4f, 0x39, 0xbb, 0x74, 0x17, 0x67, 0xff, 0xab, 0x0c, 0x8f, 0x75, 0x1a,
	0x69, 0xd2, 0xdc, 0xd1, 0xd7, 0x2f, 0xe5, 0xf1, 0xcf, 0x47, 0x24, 0xf1, 0x89, 0x97, 0x8c, 0xe2,
	0x01, 0xe1, 0xa6, 0x1a, 0xb4, 0x73, 0x75, 0x57, 0x69, 0xaf, 0xf9, 0xb8, 0x72, 0xcd, 0xc7, 0x9b,
	0x60, 0x45, 0x34, 0xf9, 0x9e, 0x04, 0xde, 0x24, 0x4a, 0x3a, 0x0e, 0x6d, 0xad, 0xdf, 0xcb, 0x63,
	0x75, 0x3b, 0x6b, 0x6b, 0x0f, 0xc9, 0xda, 0xff, 0x39, 0xcb, 0x66, 0xdc, 0x45, 0xeb, 0xb3, 0xee,
	0xa2, 0xce, 0x5f, 0xab, 0xf9, 0xfb, 0x2b, 0x0f, 0xc0, 0x24, 0x9c, 0xf7, 0x65, 0xfb, 0x8c, 0xa8,
	0x54, 0xe6, 0x47, 0x25, 0xbd, 0xce, 0xfc, 0xde, 0xa4, 0x28, 0x8d, 0xee, 0x52, 0x94, 0x46, 0xe3,
	0xa2, 0xf4, 0x10, 0xd9, 0x30, 0xbe, 0x71, 0xd4, 0x0b, 0x37, 0x8e, 0x19, 0x81, 0x68, 0x3c, 0x74,
	0xb9, 0x6b, 0x3e, 0x70, 0xb9, 0x9b, 0xbc, 0x0f, 0xe0, 0x0e, 0xef, 0x83, 0xbc, 0x0a, 0x2c, 0xdd,
	0xaf, 0x0a, 0x7c, 0x07, 0x4b, 0x07, 0xfe, 0x67, 0x66, 0xd2, 0xf5, 0xbe, 0x4c, 0x71, 0xda, 0xb0,
	0xac, 0xa7, 0x6b, 0xb2, 0x39, 0xbb, 0xd0, 0xc8, 0x8b, 0xc3, 0x24, 0x10, 0xa5, 0x62, 0x20, 0xe4,
	0x75, 0x5f, 0x84, 0xe3, 0xeb, 0xbe, 0x08, 0x5f, 0xfd, 0x12, 0xea, 0xa6, 0x93, 0x22, 0x80, 0xc5,
	0xd3, 0xee, 0xe9, 0xc9, 0xc1, 0x3b, 0x6b, 0x01, 0x35, 0xa0, 0x7a, 0xd4, 0x3b, 0x7b, 0x6d, 0x95,
	0x8c, 0xf4, 0xc6, 0x2a, 0x4b, 0xbb, 0xd4, 0x9d, 0xbd, 0xb1, 0x2a, 0xa8, 0x09, 0xb5, 0x2e, 0x4b,
	0x8e, 0x7a, 0x56, 0xed, 0xd5, 0xef, 0x4b, 0x50, 0x37, 0x2f, 0x6e, 0xb4, 0x0c, 0x0d, 0xf7, 0xe0,
	0xe4, 0xc0, 0x3d, 0x53, 0x8b, 0x34, 0xa1, 0x76, 0xda, 0x77, 0x3b, 0x5d, 0xab, 0x24, 0xc5, 0xf7,
	0x07, 0x52, 0x2c, 0xcb, 0x05, 0x7f, 0x73, 0xdc, 0xe9, 0x5a, 0x15, 0x54, 0x87, 0xca, 0xfb, 0x4e,
	0xd7, 0xaa, 0x4a, 0xd5, 0xaf, 0x4e, 0x7a, 0x1d, 0xab, 0x26, 0xbf, 0x71, 0xa0, 0xe7, 0x2c, 0xa2,
	0x25, 0xa8, 0x9f, 0x1d, 0xb9, 0xfd, 0xd3, 0xce, 0xb1, 0x55, 0x47, 0x8f, 0xa0, 0xa5, 0x0d, 0x5e,
	0x77, 0xcf, 0x3b, 0xfa, 0xd8, 0xb7, 0x1a, 0x72, 0xcd, 0xe3, 0xfe, 0x81, 0xf7, 0xc1, 0x6a, 0xa2,
	0x45, 0x28, 0x77, 0x5d, 0x0b, 0x5e, 0xfd, 0xa1, 0x04, 0x8f, 0x6e, 0xbc, 0x97, 0xd1, 0x0f, 0xc1,
	0xe9, 0xf4, 0xba, 0xf2, 0xb9, 0x72, 0x41, 0x03, 0x12, 0x78, 0x62, 0x34, 0x10, 0x3e, 0xa7, 0xe6,
	0xfa, 0x49, 0x38, 0x1d, 0x52, 0x12, 0x58, 0x0b, 0xe8, 0x07, 0xb0, 0x11, 0x0b, 0x4f, 0x42, 0xa7,
	0x10, 0x09, 0xcb, 0x26, 0xa8, 0x12, 0xfa, 0x11, 0x7c, 0x63, 0xd2, 0xe3, 0x16, 0x68, 0x79, 0xf7,
	0x6f, 0x65, 0xa8, 0x9f, 0xbc, 0xed, 0x71, 0xf6, 0xe5, 0x0a, 0x7d, 0x82, 0xd6, 0xd4, 0x4d, 0x07,
	0x15, 0x59, 0x32, 0xe7, 0xbf, 0x9b, 0xf5, 0x17, 0xf3, 0x31, 0xe3, 0x02, 0xe3, 0x2c, 0xc8, 0xb5,
	0xa7, 0xba, 0xc9, 0xd4, 0xda, 0x73, 0xba, 0xf0, 0xd4, 0xda, 0xf3, 0x7a, 0x91, 0xb3, 0x80, 0xbe,
	0x83, 0xc6, 0x09, 0x49, 0x02, 0x49, 0x34, 0xf4, 0xb8, 0x30, 0xa5, 0x40, 0xdc, 0xf5, 0xb5, 0x1b,
	0x7a, 0xc3, 0xc8, 0x05, 0xf4, 0x11, 0x56, 0x67, 0x15, 0xc6, 0x19, 0xa7, 0xbf, 0x51, 0x39, 0xd7,
	0x1f, 0x19, 0x8c, 0xfa, 0xdf, 0x6b, 0xeb, 0x8c, 0xd1, 0xc0, 0x59, 0xd8, 0xfd, 0x04, 0x96, 0x71,
	0xa9, 0x86, 0x06, 0x84, 0xa3, 0x43, 0x58, 0x2e, 0xae, 0x81, 0x9e, 0xcf, 0x5d, 0x7c, 0x7c, 0xfa,
	0x59, 0x6b, 0xef, 0x7d, 0xfd, 0xe9, 0x89, 0xd2, 0x6e, 0x0f, 0x49, 0xb8, 0xed, 0x47, 0x6c, 0x14,
	0x6c, 0x87, 0xcc, 0xfc, 0xe1, 0x36, 0x58, 0x54, 0xbf, 0xdf, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff,
	0xf5, 0x93, 0xd0, 0xcc, 0xce, 0x13, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// S8ProxyClient is the client API for S8Proxy service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type S8ProxyClient interface {
	CreateSession(ctx context.Context, in *CreateSessionRequestPgw, opts ...grpc.CallOption) (*CreateSessionResponsePgw, error)
	DeleteSession(ctx context.Context, in *DeleteSessionRequestPgw, opts ...grpc.CallOption) (*DeleteSessionResponsePgw, error)
	SendEcho(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error)
	CreateBearerResponse(ctx context.Context, in *CreateBearerResponsePgw, opts ...grpc.CallOption) (*protos.Void, error)
}

type s8ProxyClient struct {
	cc grpc.ClientConnInterface
}

func NewS8ProxyClient(cc grpc.ClientConnInterface) S8ProxyClient {
	return &s8ProxyClient{cc}
}

func (c *s8ProxyClient) CreateSession(ctx context.Context, in *CreateSessionRequestPgw, opts ...grpc.CallOption) (*CreateSessionResponsePgw, error) {
	out := new(CreateSessionResponsePgw)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/CreateSession", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) DeleteSession(ctx context.Context, in *DeleteSessionRequestPgw, opts ...grpc.CallOption) (*DeleteSessionResponsePgw, error) {
	out := new(DeleteSessionResponsePgw)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/DeleteSession", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) SendEcho(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) {
	out := new(EchoResponse)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/SendEcho", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *s8ProxyClient) CreateBearerResponse(ctx context.Context, in *CreateBearerResponsePgw, opts ...grpc.CallOption) (*protos.Void, error) {
	out := new(protos.Void)
	err := c.cc.Invoke(ctx, "/magma.feg.S8Proxy/CreateBearerResponse", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// S8ProxyServer is the server API for S8Proxy service.
type S8ProxyServer interface {
	CreateSession(context.Context, *CreateSessionRequestPgw) (*CreateSessionResponsePgw, error)
	DeleteSession(context.Context, *DeleteSessionRequestPgw) (*DeleteSessionResponsePgw, error)
	SendEcho(context.Context, *EchoRequest) (*EchoResponse, error)
	CreateBearerResponse(context.Context, *CreateBearerResponsePgw) (*protos.Void, error)
}

// UnimplementedS8ProxyServer can be embedded to have forward compatible implementations.
type UnimplementedS8ProxyServer struct {
}

func (*UnimplementedS8ProxyServer) CreateSession(ctx context.Context, req *CreateSessionRequestPgw) (*CreateSessionResponsePgw, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSession not implemented")
}
func (*UnimplementedS8ProxyServer) DeleteSession(ctx context.Context, req *DeleteSessionRequestPgw) (*DeleteSessionResponsePgw, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteSession not implemented")
}
func (*UnimplementedS8ProxyServer) SendEcho(ctx context.Context, req *EchoRequest) (*EchoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendEcho not implemented")
}
func (*UnimplementedS8ProxyServer) CreateBearerResponse(ctx context.Context, req *CreateBearerResponsePgw) (*protos.Void, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBearerResponse not implemented")
}

func RegisterS8ProxyServer(s *grpc.Server, srv S8ProxyServer) {
	s.RegisterService(&_S8Proxy_serviceDesc, srv)
}

func _S8Proxy_CreateSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateSessionRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).CreateSession(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/CreateSession",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).CreateSession(ctx, req.(*CreateSessionRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_DeleteSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteSessionRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).DeleteSession(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/DeleteSession",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).DeleteSession(ctx, req.(*DeleteSessionRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_SendEcho_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EchoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).SendEcho(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/SendEcho",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).SendEcho(ctx, req.(*EchoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _S8Proxy_CreateBearerResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBearerResponsePgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyServer).CreateBearerResponse(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8Proxy/CreateBearerResponse",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyServer).CreateBearerResponse(ctx, req.(*CreateBearerResponsePgw))
	}
	return interceptor(ctx, in, info, handler)
}

var _S8Proxy_serviceDesc = grpc.ServiceDesc{
	ServiceName: "magma.feg.S8Proxy",
	HandlerType: (*S8ProxyServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateSession",
			Handler:    _S8Proxy_CreateSession_Handler,
		},
		{
			MethodName: "DeleteSession",
			Handler:    _S8Proxy_DeleteSession_Handler,
		},
		{
			MethodName: "SendEcho",
			Handler:    _S8Proxy_SendEcho_Handler,
		},
		{
			MethodName: "CreateBearerResponse",
			Handler:    _S8Proxy_CreateBearerResponse_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "feg/protos/s8_proxy.proto",
}

// S8ProxyResponderClient is the client API for S8ProxyResponder service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type S8ProxyResponderClient interface {
	CreateBearer(ctx context.Context, in *CreateBearerRequestPgw, opts ...grpc.CallOption) (*protos.Void, error)
}

type s8ProxyResponderClient struct {
	cc grpc.ClientConnInterface
}

func NewS8ProxyResponderClient(cc grpc.ClientConnInterface) S8ProxyResponderClient {
	return &s8ProxyResponderClient{cc}
}

func (c *s8ProxyResponderClient) CreateBearer(ctx context.Context, in *CreateBearerRequestPgw, opts ...grpc.CallOption) (*protos.Void, error) {
	out := new(protos.Void)
	err := c.cc.Invoke(ctx, "/magma.feg.S8ProxyResponder/CreateBearer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// S8ProxyResponderServer is the server API for S8ProxyResponder service.
type S8ProxyResponderServer interface {
	CreateBearer(context.Context, *CreateBearerRequestPgw) (*protos.Void, error)
}

// UnimplementedS8ProxyResponderServer can be embedded to have forward compatible implementations.
type UnimplementedS8ProxyResponderServer struct {
}

func (*UnimplementedS8ProxyResponderServer) CreateBearer(ctx context.Context, req *CreateBearerRequestPgw) (*protos.Void, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateBearer not implemented")
}

func RegisterS8ProxyResponderServer(s *grpc.Server, srv S8ProxyResponderServer) {
	s.RegisterService(&_S8ProxyResponder_serviceDesc, srv)
}

func _S8ProxyResponder_CreateBearer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateBearerRequestPgw)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(S8ProxyResponderServer).CreateBearer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/magma.feg.S8ProxyResponder/CreateBearer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(S8ProxyResponderServer).CreateBearer(ctx, req.(*CreateBearerRequestPgw))
	}
	return interceptor(ctx, in, info, handler)
}

var _S8ProxyResponder_serviceDesc = grpc.ServiceDesc{
	ServiceName: "magma.feg.S8ProxyResponder",
	HandlerType: (*S8ProxyResponderServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateBearer",
			Handler:    _S8ProxyResponder_CreateBearer_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "feg/protos/s8_proxy.proto",
}
