inet.af/netstack@v0.0.0-20220214151720-7585b01ddccf/tcpip/stack/stack_state_autogen.go (about)

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