github.com/MerlinKodo/gvisor@v0.0.0-20231110090155-957f62ecf90e/pkg/tcpip/stack/stack_state_autogen.go (about)

     1  // automatically generated by stateify.
     2  
     3  package stack
     4  
     5  import (
     6  	"github.com/MerlinKodo/gvisor/pkg/state"
     7  )
     8  
     9  func (r *addressStateRefs) StateTypeName() string {
    10  	return "pkg/tcpip/stack.addressStateRefs"
    11  }
    12  
    13  func (r *addressStateRefs) StateFields() []string {
    14  	return []string{
    15  		"refCount",
    16  	}
    17  }
    18  
    19  func (r *addressStateRefs) beforeSave() {}
    20  
    21  // +checklocksignore
    22  func (r *addressStateRefs) StateSave(stateSinkObject state.Sink) {
    23  	r.beforeSave()
    24  	stateSinkObject.Save(0, &r.refCount)
    25  }
    26  
    27  // +checklocksignore
    28  func (r *addressStateRefs) StateLoad(stateSourceObject state.Source) {
    29  	stateSourceObject.Load(0, &r.refCount)
    30  	stateSourceObject.AfterLoad(r.afterLoad)
    31  }
    32  
    33  func (t *tuple) StateTypeName() string {
    34  	return "pkg/tcpip/stack.tuple"
    35  }
    36  
    37  func (t *tuple) StateFields() []string {
    38  	return []string{
    39  		"tupleEntry",
    40  		"conn",
    41  		"reply",
    42  		"tupleID",
    43  	}
    44  }
    45  
    46  func (t *tuple) beforeSave() {}
    47  
    48  // +checklocksignore
    49  func (t *tuple) StateSave(stateSinkObject state.Sink) {
    50  	t.beforeSave()
    51  	stateSinkObject.Save(0, &t.tupleEntry)
    52  	stateSinkObject.Save(1, &t.conn)
    53  	stateSinkObject.Save(2, &t.reply)
    54  	stateSinkObject.Save(3, &t.tupleID)
    55  }
    56  
    57  func (t *tuple) afterLoad() {}
    58  
    59  // +checklocksignore
    60  func (t *tuple) StateLoad(stateSourceObject state.Source) {
    61  	stateSourceObject.Load(0, &t.tupleEntry)
    62  	stateSourceObject.Load(1, &t.conn)
    63  	stateSourceObject.Load(2, &t.reply)
    64  	stateSourceObject.Load(3, &t.tupleID)
    65  }
    66  
    67  func (ti *tupleID) StateTypeName() string {
    68  	return "pkg/tcpip/stack.tupleID"
    69  }
    70  
    71  func (ti *tupleID) StateFields() []string {
    72  	return []string{
    73  		"srcAddr",
    74  		"srcPortOrEchoRequestIdent",
    75  		"dstAddr",
    76  		"dstPortOrEchoReplyIdent",
    77  		"transProto",
    78  		"netProto",
    79  	}
    80  }
    81  
    82  func (ti *tupleID) beforeSave() {}
    83  
    84  // +checklocksignore
    85  func (ti *tupleID) StateSave(stateSinkObject state.Sink) {
    86  	ti.beforeSave()
    87  	stateSinkObject.Save(0, &ti.srcAddr)
    88  	stateSinkObject.Save(1, &ti.srcPortOrEchoRequestIdent)
    89  	stateSinkObject.Save(2, &ti.dstAddr)
    90  	stateSinkObject.Save(3, &ti.dstPortOrEchoReplyIdent)
    91  	stateSinkObject.Save(4, &ti.transProto)
    92  	stateSinkObject.Save(5, &ti.netProto)
    93  }
    94  
    95  func (ti *tupleID) afterLoad() {}
    96  
    97  // +checklocksignore
    98  func (ti *tupleID) StateLoad(stateSourceObject state.Source) {
    99  	stateSourceObject.Load(0, &ti.srcAddr)
   100  	stateSourceObject.Load(1, &ti.srcPortOrEchoRequestIdent)
   101  	stateSourceObject.Load(2, &ti.dstAddr)
   102  	stateSourceObject.Load(3, &ti.dstPortOrEchoReplyIdent)
   103  	stateSourceObject.Load(4, &ti.transProto)
   104  	stateSourceObject.Load(5, &ti.netProto)
   105  }
   106  
   107  func (cn *conn) StateTypeName() string {
   108  	return "pkg/tcpip/stack.conn"
   109  }
   110  
   111  func (cn *conn) StateFields() []string {
   112  	return []string{
   113  		"ct",
   114  		"original",
   115  		"reply",
   116  		"finalizeOnce",
   117  		"finalizeResult",
   118  		"sourceManip",
   119  		"destinationManip",
   120  		"tcb",
   121  		"lastUsed",
   122  	}
   123  }
   124  
   125  func (cn *conn) beforeSave() {}
   126  
   127  // +checklocksignore
   128  func (cn *conn) StateSave(stateSinkObject state.Sink) {
   129  	cn.beforeSave()
   130  	stateSinkObject.Save(0, &cn.ct)
   131  	stateSinkObject.Save(1, &cn.original)
   132  	stateSinkObject.Save(2, &cn.reply)
   133  	stateSinkObject.Save(3, &cn.finalizeOnce)
   134  	stateSinkObject.Save(4, &cn.finalizeResult)
   135  	stateSinkObject.Save(5, &cn.sourceManip)
   136  	stateSinkObject.Save(6, &cn.destinationManip)
   137  	stateSinkObject.Save(7, &cn.tcb)
   138  	stateSinkObject.Save(8, &cn.lastUsed)
   139  }
   140  
   141  func (cn *conn) afterLoad() {}
   142  
   143  // +checklocksignore
   144  func (cn *conn) StateLoad(stateSourceObject state.Source) {
   145  	stateSourceObject.Load(0, &cn.ct)
   146  	stateSourceObject.Load(1, &cn.original)
   147  	stateSourceObject.Load(2, &cn.reply)
   148  	stateSourceObject.Load(3, &cn.finalizeOnce)
   149  	stateSourceObject.Load(4, &cn.finalizeResult)
   150  	stateSourceObject.Load(5, &cn.sourceManip)
   151  	stateSourceObject.Load(6, &cn.destinationManip)
   152  	stateSourceObject.Load(7, &cn.tcb)
   153  	stateSourceObject.Load(8, &cn.lastUsed)
   154  }
   155  
   156  func (ct *ConnTrack) StateTypeName() string {
   157  	return "pkg/tcpip/stack.ConnTrack"
   158  }
   159  
   160  func (ct *ConnTrack) StateFields() []string {
   161  	return []string{
   162  		"seed",
   163  		"clock",
   164  		"rand",
   165  		"buckets",
   166  	}
   167  }
   168  
   169  func (ct *ConnTrack) beforeSave() {}
   170  
   171  // +checklocksignore
   172  func (ct *ConnTrack) StateSave(stateSinkObject state.Sink) {
   173  	ct.beforeSave()
   174  	stateSinkObject.Save(0, &ct.seed)
   175  	stateSinkObject.Save(1, &ct.clock)
   176  	stateSinkObject.Save(2, &ct.rand)
   177  	stateSinkObject.Save(3, &ct.buckets)
   178  }
   179  
   180  func (ct *ConnTrack) afterLoad() {}
   181  
   182  // +checklocksignore
   183  func (ct *ConnTrack) StateLoad(stateSourceObject state.Source) {
   184  	stateSourceObject.Load(0, &ct.seed)
   185  	stateSourceObject.Load(1, &ct.clock)
   186  	stateSourceObject.Load(2, &ct.rand)
   187  	stateSourceObject.Load(3, &ct.buckets)
   188  }
   189  
   190  func (bkt *bucket) StateTypeName() string {
   191  	return "pkg/tcpip/stack.bucket"
   192  }
   193  
   194  func (bkt *bucket) StateFields() []string {
   195  	return []string{
   196  		"tuples",
   197  	}
   198  }
   199  
   200  func (bkt *bucket) beforeSave() {}
   201  
   202  // +checklocksignore
   203  func (bkt *bucket) StateSave(stateSinkObject state.Sink) {
   204  	bkt.beforeSave()
   205  	stateSinkObject.Save(0, &bkt.tuples)
   206  }
   207  
   208  func (bkt *bucket) afterLoad() {}
   209  
   210  // +checklocksignore
   211  func (bkt *bucket) StateLoad(stateSourceObject state.Source) {
   212  	stateSourceObject.Load(0, &bkt.tuples)
   213  }
   214  
   215  func (l *groPacketList) StateTypeName() string {
   216  	return "pkg/tcpip/stack.groPacketList"
   217  }
   218  
   219  func (l *groPacketList) StateFields() []string {
   220  	return []string{
   221  		"head",
   222  		"tail",
   223  	}
   224  }
   225  
   226  func (l *groPacketList) beforeSave() {}
   227  
   228  // +checklocksignore
   229  func (l *groPacketList) StateSave(stateSinkObject state.Sink) {
   230  	l.beforeSave()
   231  	stateSinkObject.Save(0, &l.head)
   232  	stateSinkObject.Save(1, &l.tail)
   233  }
   234  
   235  func (l *groPacketList) afterLoad() {}
   236  
   237  // +checklocksignore
   238  func (l *groPacketList) StateLoad(stateSourceObject state.Source) {
   239  	stateSourceObject.Load(0, &l.head)
   240  	stateSourceObject.Load(1, &l.tail)
   241  }
   242  
   243  func (e *groPacketEntry) StateTypeName() string {
   244  	return "pkg/tcpip/stack.groPacketEntry"
   245  }
   246  
   247  func (e *groPacketEntry) StateFields() []string {
   248  	return []string{
   249  		"next",
   250  		"prev",
   251  	}
   252  }
   253  
   254  func (e *groPacketEntry) beforeSave() {}
   255  
   256  // +checklocksignore
   257  func (e *groPacketEntry) StateSave(stateSinkObject state.Sink) {
   258  	e.beforeSave()
   259  	stateSinkObject.Save(0, &e.next)
   260  	stateSinkObject.Save(1, &e.prev)
   261  }
   262  
   263  func (e *groPacketEntry) afterLoad() {}
   264  
   265  // +checklocksignore
   266  func (e *groPacketEntry) StateLoad(stateSourceObject state.Source) {
   267  	stateSourceObject.Load(0, &e.next)
   268  	stateSourceObject.Load(1, &e.prev)
   269  }
   270  
   271  func (it *IPTables) StateTypeName() string {
   272  	return "pkg/tcpip/stack.IPTables"
   273  }
   274  
   275  func (it *IPTables) StateFields() []string {
   276  	return []string{
   277  		"connections",
   278  		"reaper",
   279  		"mu",
   280  		"v4Tables",
   281  		"v6Tables",
   282  		"modified",
   283  	}
   284  }
   285  
   286  // +checklocksignore
   287  func (it *IPTables) StateSave(stateSinkObject state.Sink) {
   288  	it.beforeSave()
   289  	stateSinkObject.Save(0, &it.connections)
   290  	stateSinkObject.Save(1, &it.reaper)
   291  	stateSinkObject.Save(2, &it.mu)
   292  	stateSinkObject.Save(3, &it.v4Tables)
   293  	stateSinkObject.Save(4, &it.v6Tables)
   294  	stateSinkObject.Save(5, &it.modified)
   295  }
   296  
   297  // +checklocksignore
   298  func (it *IPTables) StateLoad(stateSourceObject state.Source) {
   299  	stateSourceObject.Load(0, &it.connections)
   300  	stateSourceObject.Load(1, &it.reaper)
   301  	stateSourceObject.Load(2, &it.mu)
   302  	stateSourceObject.Load(3, &it.v4Tables)
   303  	stateSourceObject.Load(4, &it.v6Tables)
   304  	stateSourceObject.Load(5, &it.modified)
   305  	stateSourceObject.AfterLoad(it.afterLoad)
   306  }
   307  
   308  func (table *Table) StateTypeName() string {
   309  	return "pkg/tcpip/stack.Table"
   310  }
   311  
   312  func (table *Table) StateFields() []string {
   313  	return []string{
   314  		"Rules",
   315  		"BuiltinChains",
   316  		"Underflows",
   317  	}
   318  }
   319  
   320  func (table *Table) beforeSave() {}
   321  
   322  // +checklocksignore
   323  func (table *Table) StateSave(stateSinkObject state.Sink) {
   324  	table.beforeSave()
   325  	stateSinkObject.Save(0, &table.Rules)
   326  	stateSinkObject.Save(1, &table.BuiltinChains)
   327  	stateSinkObject.Save(2, &table.Underflows)
   328  }
   329  
   330  func (table *Table) afterLoad() {}
   331  
   332  // +checklocksignore
   333  func (table *Table) StateLoad(stateSourceObject state.Source) {
   334  	stateSourceObject.Load(0, &table.Rules)
   335  	stateSourceObject.Load(1, &table.BuiltinChains)
   336  	stateSourceObject.Load(2, &table.Underflows)
   337  }
   338  
   339  func (r *Rule) StateTypeName() string {
   340  	return "pkg/tcpip/stack.Rule"
   341  }
   342  
   343  func (r *Rule) StateFields() []string {
   344  	return []string{
   345  		"Filter",
   346  		"Matchers",
   347  		"Target",
   348  	}
   349  }
   350  
   351  func (r *Rule) beforeSave() {}
   352  
   353  // +checklocksignore
   354  func (r *Rule) StateSave(stateSinkObject state.Sink) {
   355  	r.beforeSave()
   356  	stateSinkObject.Save(0, &r.Filter)
   357  	stateSinkObject.Save(1, &r.Matchers)
   358  	stateSinkObject.Save(2, &r.Target)
   359  }
   360  
   361  func (r *Rule) afterLoad() {}
   362  
   363  // +checklocksignore
   364  func (r *Rule) StateLoad(stateSourceObject state.Source) {
   365  	stateSourceObject.Load(0, &r.Filter)
   366  	stateSourceObject.Load(1, &r.Matchers)
   367  	stateSourceObject.Load(2, &r.Target)
   368  }
   369  
   370  func (fl *IPHeaderFilter) StateTypeName() string {
   371  	return "pkg/tcpip/stack.IPHeaderFilter"
   372  }
   373  
   374  func (fl *IPHeaderFilter) StateFields() []string {
   375  	return []string{
   376  		"Protocol",
   377  		"CheckProtocol",
   378  		"Dst",
   379  		"DstMask",
   380  		"DstInvert",
   381  		"Src",
   382  		"SrcMask",
   383  		"SrcInvert",
   384  		"InputInterface",
   385  		"InputInterfaceMask",
   386  		"InputInterfaceInvert",
   387  		"OutputInterface",
   388  		"OutputInterfaceMask",
   389  		"OutputInterfaceInvert",
   390  	}
   391  }
   392  
   393  func (fl *IPHeaderFilter) beforeSave() {}
   394  
   395  // +checklocksignore
   396  func (fl *IPHeaderFilter) StateSave(stateSinkObject state.Sink) {
   397  	fl.beforeSave()
   398  	stateSinkObject.Save(0, &fl.Protocol)
   399  	stateSinkObject.Save(1, &fl.CheckProtocol)
   400  	stateSinkObject.Save(2, &fl.Dst)
   401  	stateSinkObject.Save(3, &fl.DstMask)
   402  	stateSinkObject.Save(4, &fl.DstInvert)
   403  	stateSinkObject.Save(5, &fl.Src)
   404  	stateSinkObject.Save(6, &fl.SrcMask)
   405  	stateSinkObject.Save(7, &fl.SrcInvert)
   406  	stateSinkObject.Save(8, &fl.InputInterface)
   407  	stateSinkObject.Save(9, &fl.InputInterfaceMask)
   408  	stateSinkObject.Save(10, &fl.InputInterfaceInvert)
   409  	stateSinkObject.Save(11, &fl.OutputInterface)
   410  	stateSinkObject.Save(12, &fl.OutputInterfaceMask)
   411  	stateSinkObject.Save(13, &fl.OutputInterfaceInvert)
   412  }
   413  
   414  func (fl *IPHeaderFilter) afterLoad() {}
   415  
   416  // +checklocksignore
   417  func (fl *IPHeaderFilter) StateLoad(stateSourceObject state.Source) {
   418  	stateSourceObject.Load(0, &fl.Protocol)
   419  	stateSourceObject.Load(1, &fl.CheckProtocol)
   420  	stateSourceObject.Load(2, &fl.Dst)
   421  	stateSourceObject.Load(3, &fl.DstMask)
   422  	stateSourceObject.Load(4, &fl.DstInvert)
   423  	stateSourceObject.Load(5, &fl.Src)
   424  	stateSourceObject.Load(6, &fl.SrcMask)
   425  	stateSourceObject.Load(7, &fl.SrcInvert)
   426  	stateSourceObject.Load(8, &fl.InputInterface)
   427  	stateSourceObject.Load(9, &fl.InputInterfaceMask)
   428  	stateSourceObject.Load(10, &fl.InputInterfaceInvert)
   429  	stateSourceObject.Load(11, &fl.OutputInterface)
   430  	stateSourceObject.Load(12, &fl.OutputInterfaceMask)
   431  	stateSourceObject.Load(13, &fl.OutputInterfaceInvert)
   432  }
   433  
   434  func (l *neighborEntryList) StateTypeName() string {
   435  	return "pkg/tcpip/stack.neighborEntryList"
   436  }
   437  
   438  func (l *neighborEntryList) StateFields() []string {
   439  	return []string{
   440  		"head",
   441  		"tail",
   442  	}
   443  }
   444  
   445  func (l *neighborEntryList) beforeSave() {}
   446  
   447  // +checklocksignore
   448  func (l *neighborEntryList) StateSave(stateSinkObject state.Sink) {
   449  	l.beforeSave()
   450  	stateSinkObject.Save(0, &l.head)
   451  	stateSinkObject.Save(1, &l.tail)
   452  }
   453  
   454  func (l *neighborEntryList) afterLoad() {}
   455  
   456  // +checklocksignore
   457  func (l *neighborEntryList) StateLoad(stateSourceObject state.Source) {
   458  	stateSourceObject.Load(0, &l.head)
   459  	stateSourceObject.Load(1, &l.tail)
   460  }
   461  
   462  func (e *neighborEntryEntry) StateTypeName() string {
   463  	return "pkg/tcpip/stack.neighborEntryEntry"
   464  }
   465  
   466  func (e *neighborEntryEntry) StateFields() []string {
   467  	return []string{
   468  		"next",
   469  		"prev",
   470  	}
   471  }
   472  
   473  func (e *neighborEntryEntry) beforeSave() {}
   474  
   475  // +checklocksignore
   476  func (e *neighborEntryEntry) StateSave(stateSinkObject state.Sink) {
   477  	e.beforeSave()
   478  	stateSinkObject.Save(0, &e.next)
   479  	stateSinkObject.Save(1, &e.prev)
   480  }
   481  
   482  func (e *neighborEntryEntry) afterLoad() {}
   483  
   484  // +checklocksignore
   485  func (e *neighborEntryEntry) StateLoad(stateSourceObject state.Source) {
   486  	stateSourceObject.Load(0, &e.next)
   487  	stateSourceObject.Load(1, &e.prev)
   488  }
   489  
   490  func (p *PacketBuffer) StateTypeName() string {
   491  	return "pkg/tcpip/stack.PacketBuffer"
   492  }
   493  
   494  func (p *PacketBuffer) StateFields() []string {
   495  	return []string{
   496  		"packetBufferRefs",
   497  		"buf",
   498  		"reserved",
   499  		"pushed",
   500  		"consumed",
   501  		"headers",
   502  		"NetworkProtocolNumber",
   503  		"TransportProtocolNumber",
   504  		"Hash",
   505  		"Owner",
   506  		"EgressRoute",
   507  		"GSOOptions",
   508  		"snatDone",
   509  		"dnatDone",
   510  		"PktType",
   511  		"NICID",
   512  		"RXChecksumValidated",
   513  		"NetworkPacketInfo",
   514  		"tuple",
   515  	}
   516  }
   517  
   518  func (p *PacketBuffer) beforeSave() {}
   519  
   520  // +checklocksignore
   521  func (p *PacketBuffer) StateSave(stateSinkObject state.Sink) {
   522  	p.beforeSave()
   523  	stateSinkObject.Save(0, &p.packetBufferRefs)
   524  	stateSinkObject.Save(1, &p.buf)
   525  	stateSinkObject.Save(2, &p.reserved)
   526  	stateSinkObject.Save(3, &p.pushed)
   527  	stateSinkObject.Save(4, &p.consumed)
   528  	stateSinkObject.Save(5, &p.headers)
   529  	stateSinkObject.Save(6, &p.NetworkProtocolNumber)
   530  	stateSinkObject.Save(7, &p.TransportProtocolNumber)
   531  	stateSinkObject.Save(8, &p.Hash)
   532  	stateSinkObject.Save(9, &p.Owner)
   533  	stateSinkObject.Save(10, &p.EgressRoute)
   534  	stateSinkObject.Save(11, &p.GSOOptions)
   535  	stateSinkObject.Save(12, &p.snatDone)
   536  	stateSinkObject.Save(13, &p.dnatDone)
   537  	stateSinkObject.Save(14, &p.PktType)
   538  	stateSinkObject.Save(15, &p.NICID)
   539  	stateSinkObject.Save(16, &p.RXChecksumValidated)
   540  	stateSinkObject.Save(17, &p.NetworkPacketInfo)
   541  	stateSinkObject.Save(18, &p.tuple)
   542  }
   543  
   544  func (p *PacketBuffer) afterLoad() {}
   545  
   546  // +checklocksignore
   547  func (p *PacketBuffer) StateLoad(stateSourceObject state.Source) {
   548  	stateSourceObject.Load(0, &p.packetBufferRefs)
   549  	stateSourceObject.Load(1, &p.buf)
   550  	stateSourceObject.Load(2, &p.reserved)
   551  	stateSourceObject.Load(3, &p.pushed)
   552  	stateSourceObject.Load(4, &p.consumed)
   553  	stateSourceObject.Load(5, &p.headers)
   554  	stateSourceObject.Load(6, &p.NetworkProtocolNumber)
   555  	stateSourceObject.Load(7, &p.TransportProtocolNumber)
   556  	stateSourceObject.Load(8, &p.Hash)
   557  	stateSourceObject.Load(9, &p.Owner)
   558  	stateSourceObject.Load(10, &p.EgressRoute)
   559  	stateSourceObject.Load(11, &p.GSOOptions)
   560  	stateSourceObject.Load(12, &p.snatDone)
   561  	stateSourceObject.Load(13, &p.dnatDone)
   562  	stateSourceObject.Load(14, &p.PktType)
   563  	stateSourceObject.Load(15, &p.NICID)
   564  	stateSourceObject.Load(16, &p.RXChecksumValidated)
   565  	stateSourceObject.Load(17, &p.NetworkPacketInfo)
   566  	stateSourceObject.Load(18, &p.tuple)
   567  }
   568  
   569  func (h *headerInfo) StateTypeName() string {
   570  	return "pkg/tcpip/stack.headerInfo"
   571  }
   572  
   573  func (h *headerInfo) StateFields() []string {
   574  	return []string{
   575  		"offset",
   576  		"length",
   577  	}
   578  }
   579  
   580  func (h *headerInfo) beforeSave() {}
   581  
   582  // +checklocksignore
   583  func (h *headerInfo) StateSave(stateSinkObject state.Sink) {
   584  	h.beforeSave()
   585  	stateSinkObject.Save(0, &h.offset)
   586  	stateSinkObject.Save(1, &h.length)
   587  }
   588  
   589  func (h *headerInfo) afterLoad() {}
   590  
   591  // +checklocksignore
   592  func (h *headerInfo) StateLoad(stateSourceObject state.Source) {
   593  	stateSourceObject.Load(0, &h.offset)
   594  	stateSourceObject.Load(1, &h.length)
   595  }
   596  
   597  func (d *PacketData) StateTypeName() string {
   598  	return "pkg/tcpip/stack.PacketData"
   599  }
   600  
   601  func (d *PacketData) StateFields() []string {
   602  	return []string{
   603  		"pk",
   604  	}
   605  }
   606  
   607  func (d *PacketData) beforeSave() {}
   608  
   609  // +checklocksignore
   610  func (d *PacketData) StateSave(stateSinkObject state.Sink) {
   611  	d.beforeSave()
   612  	stateSinkObject.Save(0, &d.pk)
   613  }
   614  
   615  func (d *PacketData) afterLoad() {}
   616  
   617  // +checklocksignore
   618  func (d *PacketData) StateLoad(stateSourceObject state.Source) {
   619  	stateSourceObject.Load(0, &d.pk)
   620  }
   621  
   622  func (pl *PacketBufferList) StateTypeName() string {
   623  	return "pkg/tcpip/stack.PacketBufferList"
   624  }
   625  
   626  func (pl *PacketBufferList) StateFields() []string {
   627  	return []string{
   628  		"pbs",
   629  	}
   630  }
   631  
   632  func (pl *PacketBufferList) beforeSave() {}
   633  
   634  // +checklocksignore
   635  func (pl *PacketBufferList) StateSave(stateSinkObject state.Sink) {
   636  	pl.beforeSave()
   637  	stateSinkObject.Save(0, &pl.pbs)
   638  }
   639  
   640  func (pl *PacketBufferList) afterLoad() {}
   641  
   642  // +checklocksignore
   643  func (pl *PacketBufferList) StateLoad(stateSourceObject state.Source) {
   644  	stateSourceObject.Load(0, &pl.pbs)
   645  }
   646  
   647  func (r *packetBufferRefs) StateTypeName() string {
   648  	return "pkg/tcpip/stack.packetBufferRefs"
   649  }
   650  
   651  func (r *packetBufferRefs) StateFields() []string {
   652  	return []string{
   653  		"refCount",
   654  	}
   655  }
   656  
   657  func (r *packetBufferRefs) beforeSave() {}
   658  
   659  // +checklocksignore
   660  func (r *packetBufferRefs) StateSave(stateSinkObject state.Sink) {
   661  	r.beforeSave()
   662  	stateSinkObject.Save(0, &r.refCount)
   663  }
   664  
   665  // +checklocksignore
   666  func (r *packetBufferRefs) StateLoad(stateSourceObject state.Source) {
   667  	stateSourceObject.Load(0, &r.refCount)
   668  	stateSourceObject.AfterLoad(r.afterLoad)
   669  }
   670  
   671  func (t *TransportEndpointID) StateTypeName() string {
   672  	return "pkg/tcpip/stack.TransportEndpointID"
   673  }
   674  
   675  func (t *TransportEndpointID) StateFields() []string {
   676  	return []string{
   677  		"LocalPort",
   678  		"LocalAddress",
   679  		"RemotePort",
   680  		"RemoteAddress",
   681  	}
   682  }
   683  
   684  func (t *TransportEndpointID) beforeSave() {}
   685  
   686  // +checklocksignore
   687  func (t *TransportEndpointID) StateSave(stateSinkObject state.Sink) {
   688  	t.beforeSave()
   689  	stateSinkObject.Save(0, &t.LocalPort)
   690  	stateSinkObject.Save(1, &t.LocalAddress)
   691  	stateSinkObject.Save(2, &t.RemotePort)
   692  	stateSinkObject.Save(3, &t.RemoteAddress)
   693  }
   694  
   695  func (t *TransportEndpointID) afterLoad() {}
   696  
   697  // +checklocksignore
   698  func (t *TransportEndpointID) StateLoad(stateSourceObject state.Source) {
   699  	stateSourceObject.Load(0, &t.LocalPort)
   700  	stateSourceObject.Load(1, &t.LocalAddress)
   701  	stateSourceObject.Load(2, &t.RemotePort)
   702  	stateSourceObject.Load(3, &t.RemoteAddress)
   703  }
   704  
   705  func (n *NetworkPacketInfo) StateTypeName() string {
   706  	return "pkg/tcpip/stack.NetworkPacketInfo"
   707  }
   708  
   709  func (n *NetworkPacketInfo) StateFields() []string {
   710  	return []string{
   711  		"LocalAddressBroadcast",
   712  		"IsForwardedPacket",
   713  	}
   714  }
   715  
   716  func (n *NetworkPacketInfo) beforeSave() {}
   717  
   718  // +checklocksignore
   719  func (n *NetworkPacketInfo) StateSave(stateSinkObject state.Sink) {
   720  	n.beforeSave()
   721  	stateSinkObject.Save(0, &n.LocalAddressBroadcast)
   722  	stateSinkObject.Save(1, &n.IsForwardedPacket)
   723  }
   724  
   725  func (n *NetworkPacketInfo) afterLoad() {}
   726  
   727  // +checklocksignore
   728  func (n *NetworkPacketInfo) StateLoad(stateSourceObject state.Source) {
   729  	stateSourceObject.Load(0, &n.LocalAddressBroadcast)
   730  	stateSourceObject.Load(1, &n.IsForwardedPacket)
   731  }
   732  
   733  func (g *GSOType) StateTypeName() string {
   734  	return "pkg/tcpip/stack.GSOType"
   735  }
   736  
   737  func (g *GSOType) StateFields() []string {
   738  	return nil
   739  }
   740  
   741  func (g *GSO) StateTypeName() string {
   742  	return "pkg/tcpip/stack.GSO"
   743  }
   744  
   745  func (g *GSO) StateFields() []string {
   746  	return []string{
   747  		"Type",
   748  		"NeedsCsum",
   749  		"CsumOffset",
   750  		"MSS",
   751  		"L3HdrLen",
   752  		"MaxSize",
   753  	}
   754  }
   755  
   756  func (g *GSO) beforeSave() {}
   757  
   758  // +checklocksignore
   759  func (g *GSO) StateSave(stateSinkObject state.Sink) {
   760  	g.beforeSave()
   761  	stateSinkObject.Save(0, &g.Type)
   762  	stateSinkObject.Save(1, &g.NeedsCsum)
   763  	stateSinkObject.Save(2, &g.CsumOffset)
   764  	stateSinkObject.Save(3, &g.MSS)
   765  	stateSinkObject.Save(4, &g.L3HdrLen)
   766  	stateSinkObject.Save(5, &g.MaxSize)
   767  }
   768  
   769  func (g *GSO) afterLoad() {}
   770  
   771  // +checklocksignore
   772  func (g *GSO) StateLoad(stateSourceObject state.Source) {
   773  	stateSourceObject.Load(0, &g.Type)
   774  	stateSourceObject.Load(1, &g.NeedsCsum)
   775  	stateSourceObject.Load(2, &g.CsumOffset)
   776  	stateSourceObject.Load(3, &g.MSS)
   777  	stateSourceObject.Load(4, &g.L3HdrLen)
   778  	stateSourceObject.Load(5, &g.MaxSize)
   779  }
   780  
   781  func (r *routeInfo) StateTypeName() string {
   782  	return "pkg/tcpip/stack.routeInfo"
   783  }
   784  
   785  func (r *routeInfo) StateFields() []string {
   786  	return []string{
   787  		"RemoteAddress",
   788  		"LocalAddress",
   789  		"LocalLinkAddress",
   790  		"NextHop",
   791  		"NetProto",
   792  		"Loop",
   793  	}
   794  }
   795  
   796  func (r *routeInfo) beforeSave() {}
   797  
   798  // +checklocksignore
   799  func (r *routeInfo) StateSave(stateSinkObject state.Sink) {
   800  	r.beforeSave()
   801  	stateSinkObject.Save(0, &r.RemoteAddress)
   802  	stateSinkObject.Save(1, &r.LocalAddress)
   803  	stateSinkObject.Save(2, &r.LocalLinkAddress)
   804  	stateSinkObject.Save(3, &r.NextHop)
   805  	stateSinkObject.Save(4, &r.NetProto)
   806  	stateSinkObject.Save(5, &r.Loop)
   807  }
   808  
   809  func (r *routeInfo) afterLoad() {}
   810  
   811  // +checklocksignore
   812  func (r *routeInfo) StateLoad(stateSourceObject state.Source) {
   813  	stateSourceObject.Load(0, &r.RemoteAddress)
   814  	stateSourceObject.Load(1, &r.LocalAddress)
   815  	stateSourceObject.Load(2, &r.LocalLinkAddress)
   816  	stateSourceObject.Load(3, &r.NextHop)
   817  	stateSourceObject.Load(4, &r.NetProto)
   818  	stateSourceObject.Load(5, &r.Loop)
   819  }
   820  
   821  func (r *RouteInfo) StateTypeName() string {
   822  	return "pkg/tcpip/stack.RouteInfo"
   823  }
   824  
   825  func (r *RouteInfo) StateFields() []string {
   826  	return []string{
   827  		"routeInfo",
   828  		"RemoteLinkAddress",
   829  	}
   830  }
   831  
   832  func (r *RouteInfo) beforeSave() {}
   833  
   834  // +checklocksignore
   835  func (r *RouteInfo) StateSave(stateSinkObject state.Sink) {
   836  	r.beforeSave()
   837  	stateSinkObject.Save(0, &r.routeInfo)
   838  	stateSinkObject.Save(1, &r.RemoteLinkAddress)
   839  }
   840  
   841  func (r *RouteInfo) afterLoad() {}
   842  
   843  // +checklocksignore
   844  func (r *RouteInfo) StateLoad(stateSourceObject state.Source) {
   845  	stateSourceObject.Load(0, &r.routeInfo)
   846  	stateSourceObject.Load(1, &r.RemoteLinkAddress)
   847  }
   848  
   849  func (t *TransportEndpointInfo) StateTypeName() string {
   850  	return "pkg/tcpip/stack.TransportEndpointInfo"
   851  }
   852  
   853  func (t *TransportEndpointInfo) StateFields() []string {
   854  	return []string{
   855  		"NetProto",
   856  		"TransProto",
   857  		"ID",
   858  		"BindNICID",
   859  		"BindAddr",
   860  		"RegisterNICID",
   861  	}
   862  }
   863  
   864  func (t *TransportEndpointInfo) beforeSave() {}
   865  
   866  // +checklocksignore
   867  func (t *TransportEndpointInfo) StateSave(stateSinkObject state.Sink) {
   868  	t.beforeSave()
   869  	stateSinkObject.Save(0, &t.NetProto)
   870  	stateSinkObject.Save(1, &t.TransProto)
   871  	stateSinkObject.Save(2, &t.ID)
   872  	stateSinkObject.Save(3, &t.BindNICID)
   873  	stateSinkObject.Save(4, &t.BindAddr)
   874  	stateSinkObject.Save(5, &t.RegisterNICID)
   875  }
   876  
   877  func (t *TransportEndpointInfo) afterLoad() {}
   878  
   879  // +checklocksignore
   880  func (t *TransportEndpointInfo) StateLoad(stateSourceObject state.Source) {
   881  	stateSourceObject.Load(0, &t.NetProto)
   882  	stateSourceObject.Load(1, &t.TransProto)
   883  	stateSourceObject.Load(2, &t.ID)
   884  	stateSourceObject.Load(3, &t.BindNICID)
   885  	stateSourceObject.Load(4, &t.BindAddr)
   886  	stateSourceObject.Load(5, &t.RegisterNICID)
   887  }
   888  
   889  func (t *TCPCubicState) StateTypeName() string {
   890  	return "pkg/tcpip/stack.TCPCubicState"
   891  }
   892  
   893  func (t *TCPCubicState) StateFields() []string {
   894  	return []string{
   895  		"WLastMax",
   896  		"WMax",
   897  		"T",
   898  		"TimeSinceLastCongestion",
   899  		"C",
   900  		"K",
   901  		"Beta",
   902  		"WC",
   903  		"WEst",
   904  	}
   905  }
   906  
   907  func (t *TCPCubicState) beforeSave() {}
   908  
   909  // +checklocksignore
   910  func (t *TCPCubicState) StateSave(stateSinkObject state.Sink) {
   911  	t.beforeSave()
   912  	stateSinkObject.Save(0, &t.WLastMax)
   913  	stateSinkObject.Save(1, &t.WMax)
   914  	stateSinkObject.Save(2, &t.T)
   915  	stateSinkObject.Save(3, &t.TimeSinceLastCongestion)
   916  	stateSinkObject.Save(4, &t.C)
   917  	stateSinkObject.Save(5, &t.K)
   918  	stateSinkObject.Save(6, &t.Beta)
   919  	stateSinkObject.Save(7, &t.WC)
   920  	stateSinkObject.Save(8, &t.WEst)
   921  }
   922  
   923  func (t *TCPCubicState) afterLoad() {}
   924  
   925  // +checklocksignore
   926  func (t *TCPCubicState) StateLoad(stateSourceObject state.Source) {
   927  	stateSourceObject.Load(0, &t.WLastMax)
   928  	stateSourceObject.Load(1, &t.WMax)
   929  	stateSourceObject.Load(2, &t.T)
   930  	stateSourceObject.Load(3, &t.TimeSinceLastCongestion)
   931  	stateSourceObject.Load(4, &t.C)
   932  	stateSourceObject.Load(5, &t.K)
   933  	stateSourceObject.Load(6, &t.Beta)
   934  	stateSourceObject.Load(7, &t.WC)
   935  	stateSourceObject.Load(8, &t.WEst)
   936  }
   937  
   938  func (t *TCPRACKState) StateTypeName() string {
   939  	return "pkg/tcpip/stack.TCPRACKState"
   940  }
   941  
   942  func (t *TCPRACKState) StateFields() []string {
   943  	return []string{
   944  		"XmitTime",
   945  		"EndSequence",
   946  		"FACK",
   947  		"RTT",
   948  		"Reord",
   949  		"DSACKSeen",
   950  		"ReoWnd",
   951  		"ReoWndIncr",
   952  		"ReoWndPersist",
   953  		"RTTSeq",
   954  	}
   955  }
   956  
   957  func (t *TCPRACKState) beforeSave() {}
   958  
   959  // +checklocksignore
   960  func (t *TCPRACKState) StateSave(stateSinkObject state.Sink) {
   961  	t.beforeSave()
   962  	stateSinkObject.Save(0, &t.XmitTime)
   963  	stateSinkObject.Save(1, &t.EndSequence)
   964  	stateSinkObject.Save(2, &t.FACK)
   965  	stateSinkObject.Save(3, &t.RTT)
   966  	stateSinkObject.Save(4, &t.Reord)
   967  	stateSinkObject.Save(5, &t.DSACKSeen)
   968  	stateSinkObject.Save(6, &t.ReoWnd)
   969  	stateSinkObject.Save(7, &t.ReoWndIncr)
   970  	stateSinkObject.Save(8, &t.ReoWndPersist)
   971  	stateSinkObject.Save(9, &t.RTTSeq)
   972  }
   973  
   974  func (t *TCPRACKState) afterLoad() {}
   975  
   976  // +checklocksignore
   977  func (t *TCPRACKState) StateLoad(stateSourceObject state.Source) {
   978  	stateSourceObject.Load(0, &t.XmitTime)
   979  	stateSourceObject.Load(1, &t.EndSequence)
   980  	stateSourceObject.Load(2, &t.FACK)
   981  	stateSourceObject.Load(3, &t.RTT)
   982  	stateSourceObject.Load(4, &t.Reord)
   983  	stateSourceObject.Load(5, &t.DSACKSeen)
   984  	stateSourceObject.Load(6, &t.ReoWnd)
   985  	stateSourceObject.Load(7, &t.ReoWndIncr)
   986  	stateSourceObject.Load(8, &t.ReoWndPersist)
   987  	stateSourceObject.Load(9, &t.RTTSeq)
   988  }
   989  
   990  func (t *TCPEndpointID) StateTypeName() string {
   991  	return "pkg/tcpip/stack.TCPEndpointID"
   992  }
   993  
   994  func (t *TCPEndpointID) StateFields() []string {
   995  	return []string{
   996  		"LocalPort",
   997  		"LocalAddress",
   998  		"RemotePort",
   999  		"RemoteAddress",
  1000  	}
  1001  }
  1002  
  1003  func (t *TCPEndpointID) beforeSave() {}
  1004  
  1005  // +checklocksignore
  1006  func (t *TCPEndpointID) StateSave(stateSinkObject state.Sink) {
  1007  	t.beforeSave()
  1008  	stateSinkObject.Save(0, &t.LocalPort)
  1009  	stateSinkObject.Save(1, &t.LocalAddress)
  1010  	stateSinkObject.Save(2, &t.RemotePort)
  1011  	stateSinkObject.Save(3, &t.RemoteAddress)
  1012  }
  1013  
  1014  func (t *TCPEndpointID) afterLoad() {}
  1015  
  1016  // +checklocksignore
  1017  func (t *TCPEndpointID) StateLoad(stateSourceObject state.Source) {
  1018  	stateSourceObject.Load(0, &t.LocalPort)
  1019  	stateSourceObject.Load(1, &t.LocalAddress)
  1020  	stateSourceObject.Load(2, &t.RemotePort)
  1021  	stateSourceObject.Load(3, &t.RemoteAddress)
  1022  }
  1023  
  1024  func (t *TCPFastRecoveryState) StateTypeName() string {
  1025  	return "pkg/tcpip/stack.TCPFastRecoveryState"
  1026  }
  1027  
  1028  func (t *TCPFastRecoveryState) StateFields() []string {
  1029  	return []string{
  1030  		"Active",
  1031  		"First",
  1032  		"Last",
  1033  		"MaxCwnd",
  1034  		"HighRxt",
  1035  		"RescueRxt",
  1036  	}
  1037  }
  1038  
  1039  func (t *TCPFastRecoveryState) beforeSave() {}
  1040  
  1041  // +checklocksignore
  1042  func (t *TCPFastRecoveryState) StateSave(stateSinkObject state.Sink) {
  1043  	t.beforeSave()
  1044  	stateSinkObject.Save(0, &t.Active)
  1045  	stateSinkObject.Save(1, &t.First)
  1046  	stateSinkObject.Save(2, &t.Last)
  1047  	stateSinkObject.Save(3, &t.MaxCwnd)
  1048  	stateSinkObject.Save(4, &t.HighRxt)
  1049  	stateSinkObject.Save(5, &t.RescueRxt)
  1050  }
  1051  
  1052  func (t *TCPFastRecoveryState) afterLoad() {}
  1053  
  1054  // +checklocksignore
  1055  func (t *TCPFastRecoveryState) StateLoad(stateSourceObject state.Source) {
  1056  	stateSourceObject.Load(0, &t.Active)
  1057  	stateSourceObject.Load(1, &t.First)
  1058  	stateSourceObject.Load(2, &t.Last)
  1059  	stateSourceObject.Load(3, &t.MaxCwnd)
  1060  	stateSourceObject.Load(4, &t.HighRxt)
  1061  	stateSourceObject.Load(5, &t.RescueRxt)
  1062  }
  1063  
  1064  func (t *TCPReceiverState) StateTypeName() string {
  1065  	return "pkg/tcpip/stack.TCPReceiverState"
  1066  }
  1067  
  1068  func (t *TCPReceiverState) StateFields() []string {
  1069  	return []string{
  1070  		"RcvNxt",
  1071  		"RcvAcc",
  1072  		"RcvWndScale",
  1073  		"PendingBufUsed",
  1074  	}
  1075  }
  1076  
  1077  func (t *TCPReceiverState) beforeSave() {}
  1078  
  1079  // +checklocksignore
  1080  func (t *TCPReceiverState) StateSave(stateSinkObject state.Sink) {
  1081  	t.beforeSave()
  1082  	stateSinkObject.Save(0, &t.RcvNxt)
  1083  	stateSinkObject.Save(1, &t.RcvAcc)
  1084  	stateSinkObject.Save(2, &t.RcvWndScale)
  1085  	stateSinkObject.Save(3, &t.PendingBufUsed)
  1086  }
  1087  
  1088  func (t *TCPReceiverState) afterLoad() {}
  1089  
  1090  // +checklocksignore
  1091  func (t *TCPReceiverState) StateLoad(stateSourceObject state.Source) {
  1092  	stateSourceObject.Load(0, &t.RcvNxt)
  1093  	stateSourceObject.Load(1, &t.RcvAcc)
  1094  	stateSourceObject.Load(2, &t.RcvWndScale)
  1095  	stateSourceObject.Load(3, &t.PendingBufUsed)
  1096  }
  1097  
  1098  func (t *TCPRTTState) StateTypeName() string {
  1099  	return "pkg/tcpip/stack.TCPRTTState"
  1100  }
  1101  
  1102  func (t *TCPRTTState) StateFields() []string {
  1103  	return []string{
  1104  		"SRTT",
  1105  		"RTTVar",
  1106  		"SRTTInited",
  1107  	}
  1108  }
  1109  
  1110  func (t *TCPRTTState) beforeSave() {}
  1111  
  1112  // +checklocksignore
  1113  func (t *TCPRTTState) StateSave(stateSinkObject state.Sink) {
  1114  	t.beforeSave()
  1115  	stateSinkObject.Save(0, &t.SRTT)
  1116  	stateSinkObject.Save(1, &t.RTTVar)
  1117  	stateSinkObject.Save(2, &t.SRTTInited)
  1118  }
  1119  
  1120  func (t *TCPRTTState) afterLoad() {}
  1121  
  1122  // +checklocksignore
  1123  func (t *TCPRTTState) StateLoad(stateSourceObject state.Source) {
  1124  	stateSourceObject.Load(0, &t.SRTT)
  1125  	stateSourceObject.Load(1, &t.RTTVar)
  1126  	stateSourceObject.Load(2, &t.SRTTInited)
  1127  }
  1128  
  1129  func (t *TCPSenderState) StateTypeName() string {
  1130  	return "pkg/tcpip/stack.TCPSenderState"
  1131  }
  1132  
  1133  func (t *TCPSenderState) StateFields() []string {
  1134  	return []string{
  1135  		"LastSendTime",
  1136  		"DupAckCount",
  1137  		"SndCwnd",
  1138  		"Ssthresh",
  1139  		"SndCAAckCount",
  1140  		"Outstanding",
  1141  		"SackedOut",
  1142  		"SndWnd",
  1143  		"SndUna",
  1144  		"SndNxt",
  1145  		"RTTMeasureSeqNum",
  1146  		"RTTMeasureTime",
  1147  		"Closed",
  1148  		"RTO",
  1149  		"RTTState",
  1150  		"MaxPayloadSize",
  1151  		"SndWndScale",
  1152  		"MaxSentAck",
  1153  		"FastRecovery",
  1154  		"Cubic",
  1155  		"RACKState",
  1156  		"RetransmitTS",
  1157  		"SpuriousRecovery",
  1158  	}
  1159  }
  1160  
  1161  func (t *TCPSenderState) beforeSave() {}
  1162  
  1163  // +checklocksignore
  1164  func (t *TCPSenderState) StateSave(stateSinkObject state.Sink) {
  1165  	t.beforeSave()
  1166  	stateSinkObject.Save(0, &t.LastSendTime)
  1167  	stateSinkObject.Save(1, &t.DupAckCount)
  1168  	stateSinkObject.Save(2, &t.SndCwnd)
  1169  	stateSinkObject.Save(3, &t.Ssthresh)
  1170  	stateSinkObject.Save(4, &t.SndCAAckCount)
  1171  	stateSinkObject.Save(5, &t.Outstanding)
  1172  	stateSinkObject.Save(6, &t.SackedOut)
  1173  	stateSinkObject.Save(7, &t.SndWnd)
  1174  	stateSinkObject.Save(8, &t.SndUna)
  1175  	stateSinkObject.Save(9, &t.SndNxt)
  1176  	stateSinkObject.Save(10, &t.RTTMeasureSeqNum)
  1177  	stateSinkObject.Save(11, &t.RTTMeasureTime)
  1178  	stateSinkObject.Save(12, &t.Closed)
  1179  	stateSinkObject.Save(13, &t.RTO)
  1180  	stateSinkObject.Save(14, &t.RTTState)
  1181  	stateSinkObject.Save(15, &t.MaxPayloadSize)
  1182  	stateSinkObject.Save(16, &t.SndWndScale)
  1183  	stateSinkObject.Save(17, &t.MaxSentAck)
  1184  	stateSinkObject.Save(18, &t.FastRecovery)
  1185  	stateSinkObject.Save(19, &t.Cubic)
  1186  	stateSinkObject.Save(20, &t.RACKState)
  1187  	stateSinkObject.Save(21, &t.RetransmitTS)
  1188  	stateSinkObject.Save(22, &t.SpuriousRecovery)
  1189  }
  1190  
  1191  func (t *TCPSenderState) afterLoad() {}
  1192  
  1193  // +checklocksignore
  1194  func (t *TCPSenderState) StateLoad(stateSourceObject state.Source) {
  1195  	stateSourceObject.Load(0, &t.LastSendTime)
  1196  	stateSourceObject.Load(1, &t.DupAckCount)
  1197  	stateSourceObject.Load(2, &t.SndCwnd)
  1198  	stateSourceObject.Load(3, &t.Ssthresh)
  1199  	stateSourceObject.Load(4, &t.SndCAAckCount)
  1200  	stateSourceObject.Load(5, &t.Outstanding)
  1201  	stateSourceObject.Load(6, &t.SackedOut)
  1202  	stateSourceObject.Load(7, &t.SndWnd)
  1203  	stateSourceObject.Load(8, &t.SndUna)
  1204  	stateSourceObject.Load(9, &t.SndNxt)
  1205  	stateSourceObject.Load(10, &t.RTTMeasureSeqNum)
  1206  	stateSourceObject.Load(11, &t.RTTMeasureTime)
  1207  	stateSourceObject.Load(12, &t.Closed)
  1208  	stateSourceObject.Load(13, &t.RTO)
  1209  	stateSourceObject.Load(14, &t.RTTState)
  1210  	stateSourceObject.Load(15, &t.MaxPayloadSize)
  1211  	stateSourceObject.Load(16, &t.SndWndScale)
  1212  	stateSourceObject.Load(17, &t.MaxSentAck)
  1213  	stateSourceObject.Load(18, &t.FastRecovery)
  1214  	stateSourceObject.Load(19, &t.Cubic)
  1215  	stateSourceObject.Load(20, &t.RACKState)
  1216  	stateSourceObject.Load(21, &t.RetransmitTS)
  1217  	stateSourceObject.Load(22, &t.SpuriousRecovery)
  1218  }
  1219  
  1220  func (t *TCPSACKInfo) StateTypeName() string {
  1221  	return "pkg/tcpip/stack.TCPSACKInfo"
  1222  }
  1223  
  1224  func (t *TCPSACKInfo) StateFields() []string {
  1225  	return []string{
  1226  		"Blocks",
  1227  		"ReceivedBlocks",
  1228  		"MaxSACKED",
  1229  	}
  1230  }
  1231  
  1232  func (t *TCPSACKInfo) beforeSave() {}
  1233  
  1234  // +checklocksignore
  1235  func (t *TCPSACKInfo) StateSave(stateSinkObject state.Sink) {
  1236  	t.beforeSave()
  1237  	stateSinkObject.Save(0, &t.Blocks)
  1238  	stateSinkObject.Save(1, &t.ReceivedBlocks)
  1239  	stateSinkObject.Save(2, &t.MaxSACKED)
  1240  }
  1241  
  1242  func (t *TCPSACKInfo) afterLoad() {}
  1243  
  1244  // +checklocksignore
  1245  func (t *TCPSACKInfo) StateLoad(stateSourceObject state.Source) {
  1246  	stateSourceObject.Load(0, &t.Blocks)
  1247  	stateSourceObject.Load(1, &t.ReceivedBlocks)
  1248  	stateSourceObject.Load(2, &t.MaxSACKED)
  1249  }
  1250  
  1251  func (r *RcvBufAutoTuneParams) StateTypeName() string {
  1252  	return "pkg/tcpip/stack.RcvBufAutoTuneParams"
  1253  }
  1254  
  1255  func (r *RcvBufAutoTuneParams) StateFields() []string {
  1256  	return []string{
  1257  		"MeasureTime",
  1258  		"CopiedBytes",
  1259  		"PrevCopiedBytes",
  1260  		"RcvBufSize",
  1261  		"RTT",
  1262  		"RTTVar",
  1263  		"RTTMeasureSeqNumber",
  1264  		"RTTMeasureTime",
  1265  		"Disabled",
  1266  	}
  1267  }
  1268  
  1269  func (r *RcvBufAutoTuneParams) beforeSave() {}
  1270  
  1271  // +checklocksignore
  1272  func (r *RcvBufAutoTuneParams) StateSave(stateSinkObject state.Sink) {
  1273  	r.beforeSave()
  1274  	stateSinkObject.Save(0, &r.MeasureTime)
  1275  	stateSinkObject.Save(1, &r.CopiedBytes)
  1276  	stateSinkObject.Save(2, &r.PrevCopiedBytes)
  1277  	stateSinkObject.Save(3, &r.RcvBufSize)
  1278  	stateSinkObject.Save(4, &r.RTT)
  1279  	stateSinkObject.Save(5, &r.RTTVar)
  1280  	stateSinkObject.Save(6, &r.RTTMeasureSeqNumber)
  1281  	stateSinkObject.Save(7, &r.RTTMeasureTime)
  1282  	stateSinkObject.Save(8, &r.Disabled)
  1283  }
  1284  
  1285  func (r *RcvBufAutoTuneParams) afterLoad() {}
  1286  
  1287  // +checklocksignore
  1288  func (r *RcvBufAutoTuneParams) StateLoad(stateSourceObject state.Source) {
  1289  	stateSourceObject.Load(0, &r.MeasureTime)
  1290  	stateSourceObject.Load(1, &r.CopiedBytes)
  1291  	stateSourceObject.Load(2, &r.PrevCopiedBytes)
  1292  	stateSourceObject.Load(3, &r.RcvBufSize)
  1293  	stateSourceObject.Load(4, &r.RTT)
  1294  	stateSourceObject.Load(5, &r.RTTVar)
  1295  	stateSourceObject.Load(6, &r.RTTMeasureSeqNumber)
  1296  	stateSourceObject.Load(7, &r.RTTMeasureTime)
  1297  	stateSourceObject.Load(8, &r.Disabled)
  1298  }
  1299  
  1300  func (t *TCPRcvBufState) StateTypeName() string {
  1301  	return "pkg/tcpip/stack.TCPRcvBufState"
  1302  }
  1303  
  1304  func (t *TCPRcvBufState) StateFields() []string {
  1305  	return []string{
  1306  		"RcvBufUsed",
  1307  		"RcvAutoParams",
  1308  		"RcvClosed",
  1309  	}
  1310  }
  1311  
  1312  func (t *TCPRcvBufState) beforeSave() {}
  1313  
  1314  // +checklocksignore
  1315  func (t *TCPRcvBufState) StateSave(stateSinkObject state.Sink) {
  1316  	t.beforeSave()
  1317  	stateSinkObject.Save(0, &t.RcvBufUsed)
  1318  	stateSinkObject.Save(1, &t.RcvAutoParams)
  1319  	stateSinkObject.Save(2, &t.RcvClosed)
  1320  }
  1321  
  1322  func (t *TCPRcvBufState) afterLoad() {}
  1323  
  1324  // +checklocksignore
  1325  func (t *TCPRcvBufState) StateLoad(stateSourceObject state.Source) {
  1326  	stateSourceObject.Load(0, &t.RcvBufUsed)
  1327  	stateSourceObject.Load(1, &t.RcvAutoParams)
  1328  	stateSourceObject.Load(2, &t.RcvClosed)
  1329  }
  1330  
  1331  func (t *TCPSndBufState) StateTypeName() string {
  1332  	return "pkg/tcpip/stack.TCPSndBufState"
  1333  }
  1334  
  1335  func (t *TCPSndBufState) StateFields() []string {
  1336  	return []string{
  1337  		"SndBufSize",
  1338  		"SndBufUsed",
  1339  		"SndClosed",
  1340  		"PacketTooBigCount",
  1341  		"SndMTU",
  1342  		"AutoTuneSndBufDisabled",
  1343  	}
  1344  }
  1345  
  1346  func (t *TCPSndBufState) beforeSave() {}
  1347  
  1348  // +checklocksignore
  1349  func (t *TCPSndBufState) StateSave(stateSinkObject state.Sink) {
  1350  	t.beforeSave()
  1351  	stateSinkObject.Save(0, &t.SndBufSize)
  1352  	stateSinkObject.Save(1, &t.SndBufUsed)
  1353  	stateSinkObject.Save(2, &t.SndClosed)
  1354  	stateSinkObject.Save(3, &t.PacketTooBigCount)
  1355  	stateSinkObject.Save(4, &t.SndMTU)
  1356  	stateSinkObject.Save(5, &t.AutoTuneSndBufDisabled)
  1357  }
  1358  
  1359  func (t *TCPSndBufState) afterLoad() {}
  1360  
  1361  // +checklocksignore
  1362  func (t *TCPSndBufState) StateLoad(stateSourceObject state.Source) {
  1363  	stateSourceObject.Load(0, &t.SndBufSize)
  1364  	stateSourceObject.Load(1, &t.SndBufUsed)
  1365  	stateSourceObject.Load(2, &t.SndClosed)
  1366  	stateSourceObject.Load(3, &t.PacketTooBigCount)
  1367  	stateSourceObject.Load(4, &t.SndMTU)
  1368  	stateSourceObject.Load(5, &t.AutoTuneSndBufDisabled)
  1369  }
  1370  
  1371  func (t *TCPEndpointStateInner) StateTypeName() string {
  1372  	return "pkg/tcpip/stack.TCPEndpointStateInner"
  1373  }
  1374  
  1375  func (t *TCPEndpointStateInner) StateFields() []string {
  1376  	return []string{
  1377  		"TSOffset",
  1378  		"SACKPermitted",
  1379  		"SendTSOk",
  1380  		"RecentTS",
  1381  	}
  1382  }
  1383  
  1384  func (t *TCPEndpointStateInner) beforeSave() {}
  1385  
  1386  // +checklocksignore
  1387  func (t *TCPEndpointStateInner) StateSave(stateSinkObject state.Sink) {
  1388  	t.beforeSave()
  1389  	stateSinkObject.Save(0, &t.TSOffset)
  1390  	stateSinkObject.Save(1, &t.SACKPermitted)
  1391  	stateSinkObject.Save(2, &t.SendTSOk)
  1392  	stateSinkObject.Save(3, &t.RecentTS)
  1393  }
  1394  
  1395  func (t *TCPEndpointStateInner) afterLoad() {}
  1396  
  1397  // +checklocksignore
  1398  func (t *TCPEndpointStateInner) StateLoad(stateSourceObject state.Source) {
  1399  	stateSourceObject.Load(0, &t.TSOffset)
  1400  	stateSourceObject.Load(1, &t.SACKPermitted)
  1401  	stateSourceObject.Load(2, &t.SendTSOk)
  1402  	stateSourceObject.Load(3, &t.RecentTS)
  1403  }
  1404  
  1405  func (t *TCPEndpointState) StateTypeName() string {
  1406  	return "pkg/tcpip/stack.TCPEndpointState"
  1407  }
  1408  
  1409  func (t *TCPEndpointState) StateFields() []string {
  1410  	return []string{
  1411  		"TCPEndpointStateInner",
  1412  		"ID",
  1413  		"SegTime",
  1414  		"RcvBufState",
  1415  		"SndBufState",
  1416  		"SACK",
  1417  		"Receiver",
  1418  		"Sender",
  1419  	}
  1420  }
  1421  
  1422  func (t *TCPEndpointState) beforeSave() {}
  1423  
  1424  // +checklocksignore
  1425  func (t *TCPEndpointState) StateSave(stateSinkObject state.Sink) {
  1426  	t.beforeSave()
  1427  	stateSinkObject.Save(0, &t.TCPEndpointStateInner)
  1428  	stateSinkObject.Save(1, &t.ID)
  1429  	stateSinkObject.Save(2, &t.SegTime)
  1430  	stateSinkObject.Save(3, &t.RcvBufState)
  1431  	stateSinkObject.Save(4, &t.SndBufState)
  1432  	stateSinkObject.Save(5, &t.SACK)
  1433  	stateSinkObject.Save(6, &t.Receiver)
  1434  	stateSinkObject.Save(7, &t.Sender)
  1435  }
  1436  
  1437  func (t *TCPEndpointState) afterLoad() {}
  1438  
  1439  // +checklocksignore
  1440  func (t *TCPEndpointState) StateLoad(stateSourceObject state.Source) {
  1441  	stateSourceObject.Load(0, &t.TCPEndpointStateInner)
  1442  	stateSourceObject.Load(1, &t.ID)
  1443  	stateSourceObject.Load(2, &t.SegTime)
  1444  	stateSourceObject.Load(3, &t.RcvBufState)
  1445  	stateSourceObject.Load(4, &t.SndBufState)
  1446  	stateSourceObject.Load(5, &t.SACK)
  1447  	stateSourceObject.Load(6, &t.Receiver)
  1448  	stateSourceObject.Load(7, &t.Sender)
  1449  }
  1450  
  1451  func (ep *multiPortEndpoint) StateTypeName() string {
  1452  	return "pkg/tcpip/stack.multiPortEndpoint"
  1453  }
  1454  
  1455  func (ep *multiPortEndpoint) StateFields() []string {
  1456  	return []string{
  1457  		"demux",
  1458  		"netProto",
  1459  		"transProto",
  1460  		"flags",
  1461  		"endpoints",
  1462  	}
  1463  }
  1464  
  1465  func (ep *multiPortEndpoint) beforeSave() {}
  1466  
  1467  // +checklocksignore
  1468  func (ep *multiPortEndpoint) StateSave(stateSinkObject state.Sink) {
  1469  	ep.beforeSave()
  1470  	stateSinkObject.Save(0, &ep.demux)
  1471  	stateSinkObject.Save(1, &ep.netProto)
  1472  	stateSinkObject.Save(2, &ep.transProto)
  1473  	stateSinkObject.Save(3, &ep.flags)
  1474  	stateSinkObject.Save(4, &ep.endpoints)
  1475  }
  1476  
  1477  func (ep *multiPortEndpoint) afterLoad() {}
  1478  
  1479  // +checklocksignore
  1480  func (ep *multiPortEndpoint) StateLoad(stateSourceObject state.Source) {
  1481  	stateSourceObject.Load(0, &ep.demux)
  1482  	stateSourceObject.Load(1, &ep.netProto)
  1483  	stateSourceObject.Load(2, &ep.transProto)
  1484  	stateSourceObject.Load(3, &ep.flags)
  1485  	stateSourceObject.Load(4, &ep.endpoints)
  1486  }
  1487  
  1488  func (l *tupleList) StateTypeName() string {
  1489  	return "pkg/tcpip/stack.tupleList"
  1490  }
  1491  
  1492  func (l *tupleList) StateFields() []string {
  1493  	return []string{
  1494  		"head",
  1495  		"tail",
  1496  	}
  1497  }
  1498  
  1499  func (l *tupleList) beforeSave() {}
  1500  
  1501  // +checklocksignore
  1502  func (l *tupleList) StateSave(stateSinkObject state.Sink) {
  1503  	l.beforeSave()
  1504  	stateSinkObject.Save(0, &l.head)
  1505  	stateSinkObject.Save(1, &l.tail)
  1506  }
  1507  
  1508  func (l *tupleList) afterLoad() {}
  1509  
  1510  // +checklocksignore
  1511  func (l *tupleList) StateLoad(stateSourceObject state.Source) {
  1512  	stateSourceObject.Load(0, &l.head)
  1513  	stateSourceObject.Load(1, &l.tail)
  1514  }
  1515  
  1516  func (e *tupleEntry) StateTypeName() string {
  1517  	return "pkg/tcpip/stack.tupleEntry"
  1518  }
  1519  
  1520  func (e *tupleEntry) StateFields() []string {
  1521  	return []string{
  1522  		"next",
  1523  		"prev",
  1524  	}
  1525  }
  1526  
  1527  func (e *tupleEntry) beforeSave() {}
  1528  
  1529  // +checklocksignore
  1530  func (e *tupleEntry) StateSave(stateSinkObject state.Sink) {
  1531  	e.beforeSave()
  1532  	stateSinkObject.Save(0, &e.next)
  1533  	stateSinkObject.Save(1, &e.prev)
  1534  }
  1535  
  1536  func (e *tupleEntry) afterLoad() {}
  1537  
  1538  // +checklocksignore
  1539  func (e *tupleEntry) StateLoad(stateSourceObject state.Source) {
  1540  	stateSourceObject.Load(0, &e.next)
  1541  	stateSourceObject.Load(1, &e.prev)
  1542  }
  1543  
  1544  func init() {
  1545  	state.Register((*addressStateRefs)(nil))
  1546  	state.Register((*tuple)(nil))
  1547  	state.Register((*tupleID)(nil))
  1548  	state.Register((*conn)(nil))
  1549  	state.Register((*ConnTrack)(nil))
  1550  	state.Register((*bucket)(nil))
  1551  	state.Register((*groPacketList)(nil))
  1552  	state.Register((*groPacketEntry)(nil))
  1553  	state.Register((*IPTables)(nil))
  1554  	state.Register((*Table)(nil))
  1555  	state.Register((*Rule)(nil))
  1556  	state.Register((*IPHeaderFilter)(nil))
  1557  	state.Register((*neighborEntryList)(nil))
  1558  	state.Register((*neighborEntryEntry)(nil))
  1559  	state.Register((*PacketBuffer)(nil))
  1560  	state.Register((*headerInfo)(nil))
  1561  	state.Register((*PacketData)(nil))
  1562  	state.Register((*PacketBufferList)(nil))
  1563  	state.Register((*packetBufferRefs)(nil))
  1564  	state.Register((*TransportEndpointID)(nil))
  1565  	state.Register((*NetworkPacketInfo)(nil))
  1566  	state.Register((*GSOType)(nil))
  1567  	state.Register((*GSO)(nil))
  1568  	state.Register((*routeInfo)(nil))
  1569  	state.Register((*RouteInfo)(nil))
  1570  	state.Register((*TransportEndpointInfo)(nil))
  1571  	state.Register((*TCPCubicState)(nil))
  1572  	state.Register((*TCPRACKState)(nil))
  1573  	state.Register((*TCPEndpointID)(nil))
  1574  	state.Register((*TCPFastRecoveryState)(nil))
  1575  	state.Register((*TCPReceiverState)(nil))
  1576  	state.Register((*TCPRTTState)(nil))
  1577  	state.Register((*TCPSenderState)(nil))
  1578  	state.Register((*TCPSACKInfo)(nil))
  1579  	state.Register((*RcvBufAutoTuneParams)(nil))
  1580  	state.Register((*TCPRcvBufState)(nil))
  1581  	state.Register((*TCPSndBufState)(nil))
  1582  	state.Register((*TCPEndpointStateInner)(nil))
  1583  	state.Register((*TCPEndpointState)(nil))
  1584  	state.Register((*multiPortEndpoint)(nil))
  1585  	state.Register((*tupleList)(nil))
  1586  	state.Register((*tupleEntry)(nil))
  1587  }