// Autogenerated by:
// ../../src/tools/ftrace_proto_gen/ftrace_proto_gen.cc
// Do not edit.

syntax = "proto2";
package perfetto.protos;

message NetifReceiveSkbFtraceEvent {
  optional uint32 len = 1;
  optional string name = 2;
  optional uint64 skbaddr = 3;
}
message NetDevXmitFtraceEvent {
  optional uint32 len = 1;
  optional string name = 2;
  optional int32 rc = 3;
  optional uint64 skbaddr = 4;
}
message NapiGroReceiveEntryFtraceEvent {
  optional uint32 data_len = 1;
  optional uint32 gso_size = 2;
  optional uint32 gso_type = 3;
  optional uint32 hash = 4;
  optional uint32 ip_summed = 5;
  optional uint32 l4_hash = 6;
  optional uint32 len = 7;
  optional int32 mac_header = 8;
  optional uint32 mac_header_valid = 9;
  optional string name = 10;
  optional uint32 napi_id = 11;
  optional uint32 nr_frags = 12;
  optional uint32 protocol = 13;
  optional uint32 queue_mapping = 14;
  optional uint64 skbaddr = 15;
  optional uint32 truesize = 16;
  optional uint32 vlan_proto = 17;
  optional uint32 vlan_tagged = 18;
  optional uint32 vlan_tci = 19;
}
message NapiGroReceiveExitFtraceEvent {
  optional int32 ret = 1;
}
