github.com/nicocha30/gvisor-ligolo@v0.0.0-20230726075806-989fa2c0a413/pkg/tcpip/stack/stack_state_autogen.go (about) 1 // automatically generated by stateify. 2 3 package stack 4 5 import ( 6 "github.com/nicocha30/gvisor-ligolo/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 }