-
Notifications
You must be signed in to change notification settings - Fork 204
Expand file tree
/
Copy pathmetadata.pb.go
More file actions
4442 lines (4017 loc) · 209 KB
/
metadata.pb.go
File metadata and controls
4442 lines (4017 loc) · 209 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.33.1
// source: metadata.proto
package metadata_go_proto
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
proto "github.com/openconfig/ondatra/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Types of testbeds on which the test may run.
type Metadata_Testbed int32
const (
Metadata_TESTBED_UNSPECIFIED Metadata_Testbed = 0
Metadata_TESTBED_DUT Metadata_Testbed = 1
Metadata_TESTBED_DUT_DUT_4LINKS Metadata_Testbed = 2
Metadata_TESTBED_DUT_ATE_2LINKS Metadata_Testbed = 3
Metadata_TESTBED_DUT_ATE_4LINKS Metadata_Testbed = 4
Metadata_TESTBED_DUT_ATE_9LINKS_LAG Metadata_Testbed = 5
Metadata_TESTBED_DUT_DUT_ATE_2LINKS Metadata_Testbed = 6
Metadata_TESTBED_DUT_ATE_8LINKS Metadata_Testbed = 7
Metadata_TESTBED_DUT_400ZR Metadata_Testbed = 8
Metadata_TESTBED_DUT_400ZR_PLUS Metadata_Testbed = 9
Metadata_TESTBED_DUT_400ZR_100G_4LINKS Metadata_Testbed = 10
Metadata_TESTBED_DUT_400FR_100G_4LINKS Metadata_Testbed = 11
Metadata_TESTBED_DUT_ATE_5LINKS Metadata_Testbed = 12
Metadata_TESTBED_DUT_800ZR Metadata_Testbed = 13
Metadata_TESTBED_DUT_800ZR_PLUS Metadata_Testbed = 14
Metadata_TESTBED_DUT_2LINKS Metadata_Testbed = 15
Metadata_TESTBED_DUT_ATE_34LINKS Metadata_Testbed = 16
Metadata_TESTBED_DUT_ATE_8LINKS_LAG Metadata_Testbed = 17
)
// Enum value maps for Metadata_Testbed.
var (
Metadata_Testbed_name = map[int32]string{
0: "TESTBED_UNSPECIFIED",
1: "TESTBED_DUT",
2: "TESTBED_DUT_DUT_4LINKS",
3: "TESTBED_DUT_ATE_2LINKS",
4: "TESTBED_DUT_ATE_4LINKS",
5: "TESTBED_DUT_ATE_9LINKS_LAG",
6: "TESTBED_DUT_DUT_ATE_2LINKS",
7: "TESTBED_DUT_ATE_8LINKS",
8: "TESTBED_DUT_400ZR",
9: "TESTBED_DUT_400ZR_PLUS",
10: "TESTBED_DUT_400ZR_100G_4LINKS",
11: "TESTBED_DUT_400FR_100G_4LINKS",
12: "TESTBED_DUT_ATE_5LINKS",
13: "TESTBED_DUT_800ZR",
14: "TESTBED_DUT_800ZR_PLUS",
15: "TESTBED_DUT_2LINKS",
16: "TESTBED_DUT_ATE_34LINKS",
17: "TESTBED_DUT_ATE_8LINKS_LAG",
}
Metadata_Testbed_value = map[string]int32{
"TESTBED_UNSPECIFIED": 0,
"TESTBED_DUT": 1,
"TESTBED_DUT_DUT_4LINKS": 2,
"TESTBED_DUT_ATE_2LINKS": 3,
"TESTBED_DUT_ATE_4LINKS": 4,
"TESTBED_DUT_ATE_9LINKS_LAG": 5,
"TESTBED_DUT_DUT_ATE_2LINKS": 6,
"TESTBED_DUT_ATE_8LINKS": 7,
"TESTBED_DUT_400ZR": 8,
"TESTBED_DUT_400ZR_PLUS": 9,
"TESTBED_DUT_400ZR_100G_4LINKS": 10,
"TESTBED_DUT_400FR_100G_4LINKS": 11,
"TESTBED_DUT_ATE_5LINKS": 12,
"TESTBED_DUT_800ZR": 13,
"TESTBED_DUT_800ZR_PLUS": 14,
"TESTBED_DUT_2LINKS": 15,
"TESTBED_DUT_ATE_34LINKS": 16,
"TESTBED_DUT_ATE_8LINKS_LAG": 17,
}
)
func (x Metadata_Testbed) Enum() *Metadata_Testbed {
p := new(Metadata_Testbed)
*p = x
return p
}
func (x Metadata_Testbed) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Metadata_Testbed) Descriptor() protoreflect.EnumDescriptor {
return file_metadata_proto_enumTypes[0].Descriptor()
}
func (Metadata_Testbed) Type() protoreflect.EnumType {
return &file_metadata_proto_enumTypes[0]
}
func (x Metadata_Testbed) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Metadata_Testbed.Descriptor instead.
func (Metadata_Testbed) EnumDescriptor() ([]byte, []int) {
return file_metadata_proto_rawDescGZIP(), []int{0, 0}
}
type Metadata_Tags int32
const (
Metadata_TAGS_UNSPECIFIED Metadata_Tags = 0
Metadata_TAGS_AGGREGATION Metadata_Tags = 1
Metadata_TAGS_DATACENTER_EDGE Metadata_Tags = 2
Metadata_TAGS_EDGE Metadata_Tags = 3
Metadata_TAGS_TRANSIT Metadata_Tags = 4
)
// Enum value maps for Metadata_Tags.
var (
Metadata_Tags_name = map[int32]string{
0: "TAGS_UNSPECIFIED",
1: "TAGS_AGGREGATION",
2: "TAGS_DATACENTER_EDGE",
3: "TAGS_EDGE",
4: "TAGS_TRANSIT",
}
Metadata_Tags_value = map[string]int32{
"TAGS_UNSPECIFIED": 0,
"TAGS_AGGREGATION": 1,
"TAGS_DATACENTER_EDGE": 2,
"TAGS_EDGE": 3,
"TAGS_TRANSIT": 4,
}
)
func (x Metadata_Tags) Enum() *Metadata_Tags {
p := new(Metadata_Tags)
*p = x
return p
}
func (x Metadata_Tags) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Metadata_Tags) Descriptor() protoreflect.EnumDescriptor {
return file_metadata_proto_enumTypes[1].Descriptor()
}
func (Metadata_Tags) Type() protoreflect.EnumType {
return &file_metadata_proto_enumTypes[1]
}
func (x Metadata_Tags) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Metadata_Tags.Descriptor instead.
func (Metadata_Tags) EnumDescriptor() ([]byte, []int) {
return file_metadata_proto_rawDescGZIP(), []int{0, 1}
}
// Metadata about a Feature Profiles test.
type Metadata struct {
state protoimpl.MessageState `protogen:"open.v1"`
// UUID of the test.
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
// ID of the test in the test plan.
PlanId string `protobuf:"bytes,2,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"`
// One-line description of the test.
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// Testbed on which the test is intended to run.
Testbed Metadata_Testbed `protobuf:"varint,4,opt,name=testbed,proto3,enum=openconfig.testing.Metadata_Testbed" json:"testbed,omitempty"`
// The `platform` field for each `platform_exceptions` should be mutually
// exclusive. Duplicate matches will result in a test failure.
PlatformExceptions []*Metadata_PlatformExceptions `protobuf:"bytes,5,rep,name=platform_exceptions,json=platformExceptions,proto3" json:"platform_exceptions,omitempty"`
// The `tags` used to identify the area(s) testcase applies to. An empty tag
// is the default implying it applies to all areas.
Tags []Metadata_Tags `protobuf:"varint,6,rep,packed,name=tags,proto3,enum=openconfig.testing.Metadata_Tags" json:"tags,omitempty"`
// Whether this test only checks paths for presence rather than semantic
// checks.
PathPresenceTest bool `protobuf:"varint,7,opt,name=path_presence_test,json=pathPresenceTest,proto3" json:"path_presence_test,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Metadata) Reset() {
*x = Metadata{}
mi := &file_metadata_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Metadata) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Metadata) ProtoMessage() {}
func (x *Metadata) ProtoReflect() protoreflect.Message {
mi := &file_metadata_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Metadata.ProtoReflect.Descriptor instead.
func (*Metadata) Descriptor() ([]byte, []int) {
return file_metadata_proto_rawDescGZIP(), []int{0}
}
func (x *Metadata) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
func (x *Metadata) GetPlanId() string {
if x != nil {
return x.PlanId
}
return ""
}
func (x *Metadata) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Metadata) GetTestbed() Metadata_Testbed {
if x != nil {
return x.Testbed
}
return Metadata_TESTBED_UNSPECIFIED
}
func (x *Metadata) GetPlatformExceptions() []*Metadata_PlatformExceptions {
if x != nil {
return x.PlatformExceptions
}
return nil
}
func (x *Metadata) GetTags() []Metadata_Tags {
if x != nil {
return x.Tags
}
return nil
}
func (x *Metadata) GetPathPresenceTest() bool {
if x != nil {
return x.PathPresenceTest
}
return false
}
type Metadata_Platform struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Vendor of the device.
Vendor proto.Device_Vendor `protobuf:"varint,1,opt,name=vendor,proto3,enum=ondatra.Device_Vendor" json:"vendor,omitempty"`
// Regex for hardware model of the device.
// The empty string will match any hardware model.
HardwareModelRegex string `protobuf:"bytes,3,opt,name=hardware_model_regex,json=hardwareModelRegex,proto3" json:"hardware_model_regex,omitempty"`
// Regex for software version of the device.
// The empty string will match any software version.
SoftwareVersionRegex string `protobuf:"bytes,4,opt,name=software_version_regex,json=softwareVersionRegex,proto3" json:"software_version_regex,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Metadata_Platform) Reset() {
*x = Metadata_Platform{}
mi := &file_metadata_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Metadata_Platform) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Metadata_Platform) ProtoMessage() {}
func (x *Metadata_Platform) ProtoReflect() protoreflect.Message {
mi := &file_metadata_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Metadata_Platform.ProtoReflect.Descriptor instead.
func (*Metadata_Platform) Descriptor() ([]byte, []int) {
return file_metadata_proto_rawDescGZIP(), []int{0, 0}
}
func (x *Metadata_Platform) GetVendor() proto.Device_Vendor {
if x != nil {
return x.Vendor
}
return proto.Device_Vendor(0)
}
func (x *Metadata_Platform) GetHardwareModelRegex() string {
if x != nil {
return x.HardwareModelRegex
}
return ""
}
func (x *Metadata_Platform) GetSoftwareVersionRegex() string {
if x != nil {
return x.SoftwareVersionRegex
}
return ""
}
type Metadata_Deviations struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Device does not support interface/ipv4/enabled,
// so suppress configuring this leaf.
Ipv4MissingEnabled bool `protobuf:"varint,1,opt,name=ipv4_missing_enabled,json=ipv4MissingEnabled,proto3" json:"ipv4_missing_enabled,omitempty"`
// Device does not support fragmentation bit for traceroute.
TracerouteFragmentation bool `protobuf:"varint,2,opt,name=traceroute_fragmentation,json=tracerouteFragmentation,proto3" json:"traceroute_fragmentation,omitempty"`
// Device only support UDP as l4 protocol for traceroute.
TracerouteL4ProtocolUdp bool `protobuf:"varint,3,opt,name=traceroute_l4_protocol_udp,json=tracerouteL4ProtocolUdp,proto3" json:"traceroute_l4_protocol_udp,omitempty"`
// Device does not support
// bgp/neighbors/neighbor/afi-safis/afi-safi/state/prefixes/received-pre-policy.
PrepolicyReceivedRoutes bool `protobuf:"varint,4,opt,name=prepolicy_received_routes,json=prepolicyReceivedRoutes,proto3" json:"prepolicy_received_routes,omitempty"`
// Expected ucmp traffic tolerance. Minimum value is 0.2, anything less
// will be coerced to 0.2.
// Juniper: partnerissuetracker.corp.google.com/282234301
// Cisco: partnerissuetracker.corp.google.com/279477633
HierarchicalWeightResolutionTolerance float64 `protobuf:"fixed64,5,opt,name=hierarchical_weight_resolution_tolerance,json=hierarchicalWeightResolutionTolerance,proto3" json:"hierarchical_weight_resolution_tolerance,omitempty"`
// Device skip isis multi-topology check if value is true.
IsisMultiTopologyUnsupported bool `protobuf:"varint,6,opt,name=isis_multi_topology_unsupported,json=isisMultiTopologyUnsupported,proto3" json:"isis_multi_topology_unsupported,omitempty"`
// Disable isis level1 under interface mode on the device if value is true.
IsisInterfaceLevel1DisableRequired bool `protobuf:"varint,7,opt,name=isis_interface_level1_disable_required,json=isisInterfaceLevel1DisableRequired,proto3" json:"isis_interface_level1_disable_required,omitempty"`
// Set isis af ipv6 single topology on the device if value is true.
IsisSingleTopologyRequired bool `protobuf:"varint,8,opt,name=isis_single_topology_required,json=isisSingleTopologyRequired,proto3" json:"isis_single_topology_required,omitempty"`
// Don't set isis instance enable flag on the device if value is true.
IsisInstanceEnabledRequired bool `protobuf:"varint,10,opt,name=isis_instance_enabled_required,json=isisInstanceEnabledRequired,proto3" json:"isis_instance_enabled_required,omitempty"`
// Set and validate isis interface address family enable on the device if
// value is true.
MissingIsisInterfaceAfiSafiEnable bool `protobuf:"varint,11,opt,name=missing_isis_interface_afi_safi_enable,json=missingIsisInterfaceAfiSafiEnable,proto3" json:"missing_isis_interface_afi_safi_enable,omitempty"`
// Don't set isis global authentication-check on the device if value is
// true.
IsisGlobalAuthenticationNotRequired bool `protobuf:"varint,12,opt,name=isis_global_authentication_not_required,json=isisGlobalAuthenticationNotRequired,proto3" json:"isis_global_authentication_not_required,omitempty"`
// Configure CSNP, LSP and PSNP under level authentication explicitly if
// value is true.
IsisExplicitLevelAuthenticationConfig bool `protobuf:"varint,13,opt,name=isis_explicit_level_authentication_config,json=isisExplicitLevelAuthenticationConfig,proto3" json:"isis_explicit_level_authentication_config,omitempty"`
// Device skip isis restart-suppress check if value is true.
IsisRestartSuppressUnsupported bool `protobuf:"varint,14,opt,name=isis_restart_suppress_unsupported,json=isisRestartSuppressUnsupported,proto3" json:"isis_restart_suppress_unsupported,omitempty"`
// Device does not support interface/ipv4(6)/neighbor.
// Cisco: partnerissuetracker.corp.google.com/268243828
IpNeighborMissing bool `protobuf:"varint,15,opt,name=ip_neighbor_missing,json=ipNeighborMissing,proto3" json:"ip_neighbor_missing,omitempty"`
// Device requires separate reboot to activate OS.
OsactivateNoreboot bool `protobuf:"varint,16,opt,name=osactivate_noreboot,json=osactivateNoreboot,proto3" json:"osactivate_noreboot,omitempty"`
// Device requires OS installation on standby RP as well as active RP.
OsinstallForStandbyRp bool `protobuf:"varint,17,opt,name=osinstall_for_standby_rp,json=osinstallForStandbyRp,proto3" json:"osinstall_for_standby_rp,omitempty"`
// Set this flag for LLDP interface config to override the global config.
LldpInterfaceConfigOverrideGlobal bool `protobuf:"varint,18,opt,name=lldp_interface_config_override_global,json=lldpInterfaceConfigOverrideGlobal,proto3" json:"lldp_interface_config_override_global,omitempty"`
// Skip check for
// bgp/neighbors/neighbor/state/messages/received/last-notification-error-code
// leaf missing case.
MissingBgpLastNotificationErrorCode bool `protobuf:"varint,21,opt,name=missing_bgp_last_notification_error_code,json=missingBgpLastNotificationErrorCode,proto3" json:"missing_bgp_last_notification_error_code,omitempty"`
// Device does not support interface-ref configuration when applying
// features to interface.
InterfaceRefConfigUnsupported bool `protobuf:"varint,22,opt,name=interface_ref_config_unsupported,json=interfaceRefConfigUnsupported,proto3" json:"interface_ref_config_unsupported,omitempty"`
// Device does not support these state paths.
// Juniper: partnerissuetracker.corp.google.com/279470921
StatePathUnsupported bool `protobuf:"varint,23,opt,name=state_path_unsupported,json=statePathUnsupported,proto3" json:"state_path_unsupported,omitempty"`
// Device requires Ipv6 to be enabled on interface for gRIBI NH programmed
// with destination mac address.
// Juniper: partnerissuetracker.corp.google.com/267642089
Ipv6EnableForGribiNhDmac bool `protobuf:"varint,24,opt,name=ipv6_enable_for_gribi_nh_dmac,json=ipv6EnableForGribiNhDmac,proto3" json:"ipv6_enable_for_gribi_nh_dmac,omitempty"`
// Device requires additional config for ECN.
// Juniper: partnerissuetracker.corp.google.com/277657269
EcnProfileRequiredDefinition bool `protobuf:"varint,25,opt,name=ecn_profile_required_definition,json=ecnProfileRequiredDefinition,proto3" json:"ecn_profile_required_definition,omitempty"`
// Device does not support interface ipv6 discarded packet statistics.
// Juniper: partnerissuetracker.corp.google.com/277762075
Ipv6DiscardedPktsUnsupported bool `protobuf:"varint,26,opt,name=ipv6_discarded_pkts_unsupported,json=ipv6DiscardedPktsUnsupported,proto3" json:"ipv6_discarded_pkts_unsupported,omitempty"`
// Device does not support drop and weight leaves under queue management
// profile.
// Juniper: partnerissuetracker.corp.google.com/279471405
DropWeightLeavesUnsupported bool `protobuf:"varint,27,opt,name=drop_weight_leaves_unsupported,json=dropWeightLeavesUnsupported,proto3" json:"drop_weight_leaves_unsupported,omitempty"`
// Config pushed through origin CLI takes precedence over config pushed
// through origin OC.
// Juniper: partnerissuetracker.corp.google.com/270474468
CliTakesPrecedenceOverOc bool `protobuf:"varint,29,opt,name=cli_takes_precedence_over_oc,json=cliTakesPrecedenceOverOc,proto3" json:"cli_takes_precedence_over_oc,omitempty"`
// Device does not support weight above 100.
// Juniper: partnerissuetracker.corp.google.com/277066804
SchedulerInputWeightLimit bool `protobuf:"varint,30,opt,name=scheduler_input_weight_limit,json=schedulerInputWeightLimit,proto3" json:"scheduler_input_weight_limit,omitempty"`
// Device does not support id leaf for SwitchChip components.
// Juniper: partnerissuetracker.corp.google.com/277134501
SwitchChipIdUnsupported bool `protobuf:"varint,31,opt,name=switch_chip_id_unsupported,json=switchChipIdUnsupported,proto3" json:"switch_chip_id_unsupported,omitempty"`
// Device does not support backplane-facing-capacity leaves for some of the
// components.
// Juniper: partnerissuetracker.corp.google.com/277134501
BackplaneFacingCapacityUnsupported bool `protobuf:"varint,32,opt,name=backplane_facing_capacity_unsupported,json=backplaneFacingCapacityUnsupported,proto3" json:"backplane_facing_capacity_unsupported,omitempty"`
// Device only supports querying counters from the state container, not from
// individual counter leaves.
InterfaceCountersFromContainer bool `protobuf:"varint,33,opt,name=interface_counters_from_container,json=interfaceCountersFromContainer,proto3" json:"interface_counters_from_container,omitempty"`
// Use this deviation when the device does not support a mix of tagged and
// untagged subinterfaces.
// Juniper: partnerissuetracker.corp.google.com/267822588
NoMixOfTaggedAndUntaggedSubinterfaces bool `protobuf:"varint,34,opt,name=no_mix_of_tagged_and_untagged_subinterfaces,json=noMixOfTaggedAndUntaggedSubinterfaces,proto3" json:"no_mix_of_tagged_and_untagged_subinterfaces,omitempty"`
// Device does not support reporting software version according to the
// requirements in gNMI-1.10.
// Juniper: partnerissuetracker.corp.google.com/278764547
SwVersionUnsupported bool `protobuf:"varint,37,opt,name=sw_version_unsupported,json=swVersionUnsupported,proto3" json:"sw_version_unsupported,omitempty"`
// Device does not support telemetry path /components/component/storage.
// Juniper: partnerissuetracker.corp.google.com/284239001
StorageComponentUnsupported bool `protobuf:"varint,39,opt,name=storage_component_unsupported,json=storageComponentUnsupported,proto3" json:"storage_component_unsupported,omitempty"`
// Device requires port-speed to be set because its default value may not be
// usable.
ExplicitPortSpeed bool `protobuf:"varint,41,opt,name=explicit_port_speed,json=explicitPortSpeed,proto3" json:"explicit_port_speed,omitempty"`
// Device requires explicit attachment of an interface or subinterface to
// the default network instance.
// Nokia: partnerissuetracker.corp.google.com/260928639
ExplicitInterfaceInDefaultVrf bool `protobuf:"varint,42,opt,name=explicit_interface_in_default_vrf,json=explicitInterfaceInDefaultVrf,proto3" json:"explicit_interface_in_default_vrf,omitempty"`
// Device is missing subinterface packet counters for IPv4/IPv6.
SubinterfacePacketCountersMissing bool `protobuf:"varint,44,opt,name=subinterface_packet_counters_missing,json=subinterfacePacketCountersMissing,proto3" json:"subinterface_packet_counters_missing,omitempty"`
// Connect-retry is not supported
// /bgp/neighbors/neighbor/timers/config/connect-retry.
ConnectRetry bool `protobuf:"varint,45,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"`
// Device does not support programming a gribi flow with a next-hop entry of
// mac-address only.
GribiMacOverrideWithStaticArp bool `protobuf:"varint,46,opt,name=gribi_mac_override_with_static_arp,json=gribiMacOverrideWithStaticArp,proto3" json:"gribi_mac_override_with_static_arp,omitempty"`
// Set true for device that does not support route-policy under AFI/SAFI.
RoutePolicyUnderAfiUnsupported bool `protobuf:"varint,47,opt,name=route_policy_under_afi_unsupported,json=routePolicyUnderAfiUnsupported,proto3" json:"route_policy_under_afi_unsupported,omitempty"`
// Device does not support using gNOI to reboot the Fabric Component.
GnoiFabricComponentRebootUnsupported bool `protobuf:"varint,48,opt,name=gnoi_fabric_component_reboot_unsupported,json=gnoiFabricComponentRebootUnsupported,proto3" json:"gnoi_fabric_component_reboot_unsupported,omitempty"`
// Device does not support the ntp nondefault vrf case.
NtpNonDefaultVrfUnsupported bool `protobuf:"varint,49,opt,name=ntp_non_default_vrf_unsupported,json=ntpNonDefaultVrfUnsupported,proto3" json:"ntp_non_default_vrf_unsupported,omitempty"`
// Device does not support setting the L2 MTU. OpenConfig allows a device to
// enforce that L2 MTU, which has a default value of 1514, must be set to a
// higher value than L3 MTU.
// Arista: partnerissuetracker.corp.google.com/243445300
OmitL2Mtu bool `protobuf:"varint,50,opt,name=omit_l2_mtu,json=omitL2Mtu,proto3" json:"omit_l2_mtu,omitempty"`
// Skip power admin for controller card
SkipControllerCardPowerAdmin bool `protobuf:"varint,51,opt,name=skip_controller_card_power_admin,json=skipControllerCardPowerAdmin,proto3" json:"skip_controller_card_power_admin,omitempty"`
// Device requires the banner to have a delimiter character.
BannerDelimiter string `protobuf:"bytes,60,opt,name=banner_delimiter,json=bannerDelimiter,proto3" json:"banner_delimiter,omitempty"`
// Allowed tolerance for BGP traffic flow while comparing for pass or fail
// condition.
BgpToleranceValue int32 `protobuf:"varint,61,opt,name=bgp_tolerance_value,json=bgpToleranceValue,proto3" json:"bgp_tolerance_value,omitempty"`
// Device requires additional time to complete post delete link
// qualification cleanup.
LinkQualWaitAfterDeleteRequired bool `protobuf:"varint,62,opt,name=link_qual_wait_after_delete_required,json=linkQualWaitAfterDeleteRequired,proto3" json:"link_qual_wait_after_delete_required,omitempty"`
// The response of gNOI reboot status is a single value (not a list), so the
// device requires explict component path to account for a situation when
// there is more than one active reboot requests.
// Arista: partnerissuetracker.corp.google.com/245550570
GnoiStatusEmptySubcomponent bool `protobuf:"varint,63,opt,name=gnoi_status_empty_subcomponent,json=gnoiStatusEmptySubcomponent,proto3" json:"gnoi_status_empty_subcomponent,omitempty"`
// Device requiries explicit deletion of network-instance table.
NetworkInstanceTableDeletionRequired bool `protobuf:"varint,64,opt,name=network_instance_table_deletion_required,json=networkInstanceTableDeletionRequired,proto3" json:"network_instance_table_deletion_required,omitempty"`
// Device requires a BGP session reset to utilize a new MD5 key.
BgpMd5RequiresReset bool `protobuf:"varint,65,opt,name=bgp_md5_requires_reset,json=bgpMd5RequiresReset,proto3" json:"bgp_md5_requires_reset,omitempty"`
// Devices do not count dequeued and deleted packets as drops.
// Arista: partnerissuetracker.corp.google.com/275384848
DequeueDeleteNotCountedAsDrops bool `protobuf:"varint,66,opt,name=dequeue_delete_not_counted_as_drops,json=dequeueDeleteNotCountedAsDrops,proto3" json:"dequeue_delete_not_counted_as_drops,omitempty"`
// Device only supports RIB ack, so tests that normally expect FIB_ACK will
// allow just RIB_ACK.
GribiRibackOnly bool `protobuf:"varint,67,opt,name=gribi_riback_only,json=gribiRibackOnly,proto3" json:"gribi_riback_only,omitempty"`
// Device requires that aggregate Port-Channel and its members be defined in
// a single gNMI Update transaction at /interfaces; otherwise lag-type will
// be dropped, and no member can be added to the aggregate.
// Arista: partnerissuetracker.corp.google.com/201574574
AggregateAtomicUpdate bool `protobuf:"varint,68,opt,name=aggregate_atomic_update,json=aggregateAtomicUpdate,proto3" json:"aggregate_atomic_update,omitempty"`
// Device returns no value for some OpenConfig paths if the operational
// value equals the default.
// Arista: partnerissuetracker.corp.google.com/258286131
MissingValueForDefaults bool `protobuf:"varint,69,opt,name=missing_value_for_defaults,json=missingValueForDefaults,proto3" json:"missing_value_for_defaults,omitempty"`
// The name used for the static routing protocol. The default name in
// OpenConfig is \"DEFAULT\" but some devices use other names.
// Arista: partnerissuetracker.corp.google.com/269699737
StaticProtocolName string `protobuf:"bytes,70,opt,name=static_protocol_name,json=staticProtocolName,proto3" json:"static_protocol_name,omitempty"`
// Device currently uses component name instead of a full openconfig path,
// so suppress creating a full oc compliant path for subcomponent.
GnoiSubcomponentPath bool `protobuf:"varint,71,opt,name=gnoi_subcomponent_path,json=gnoiSubcomponentPath,proto3" json:"gnoi_subcomponent_path,omitempty"`
// When configuring interface, config VRF prior config IP address.
// Arista: partnerissuetracker.corp.google.com/261958938
InterfaceConfigVrfBeforeAddress bool `protobuf:"varint,72,opt,name=interface_config_vrf_before_address,json=interfaceConfigVrfBeforeAddress,proto3" json:"interface_config_vrf_before_address,omitempty"`
// Device requires using the deprecated openconfig-vlan:vlan/config/vlan-id
// or openconfig-vlan:vlan/state/vlan-id leaves.
// Arista: partnerissuetracker.corp.google.com/261085885
DeprecatedVlanId bool `protobuf:"varint,73,opt,name=deprecated_vlan_id,json=deprecatedVlanId,proto3" json:"deprecated_vlan_id,omitempty"`
// Device requires gRIBI MAC Override using Static ARP + Static Route
// Arista: partnerissuetracker.corp.google.com/234635355
GribiMacOverrideStaticArpStaticRoute bool `protobuf:"varint,74,opt,name=gribi_mac_override_static_arp_static_route,json=gribiMacOverrideStaticArpStaticRoute,proto3" json:"gribi_mac_override_static_arp_static_route,omitempty"`
// Device requires interface enabled leaf booleans to be explicitly set to
// true.
InterfaceEnabled bool `protobuf:"varint,75,opt,name=interface_enabled,json=interfaceEnabled,proto3" json:"interface_enabled,omitempty"`
// Skip checking QOS octet stats for interface.
// Arista: partnerissuetracker.corp.google.com/283541442
QosOctets bool `protobuf:"varint,76,opt,name=qos_octets,json=qosOctets,proto3" json:"qos_octets,omitempty"`
// Device CPU components do not map to a FRU parent component in the OC
// tree.
CpuMissingAncestor bool `protobuf:"varint,77,opt,name=cpu_missing_ancestor,json=cpuMissingAncestor,proto3" json:"cpu_missing_ancestor,omitempty"`
// Device needs subinterface 0 to be routed for non-zero sub-interfaces.
RequireRoutedSubinterface_0 bool `protobuf:"varint,78,opt,name=require_routed_subinterface_0,json=requireRoutedSubinterface0,proto3" json:"require_routed_subinterface_0,omitempty"`
// Device does not report last-switchover-reason as USER_INITIATED for
// gNOI.SwitchControlProcessor.
GnoiSwitchoverReasonMissingUserInitiated bool `protobuf:"varint,79,opt,name=gnoi_switchover_reason_missing_user_initiated,json=gnoiSwitchoverReasonMissingUserInitiated,proto3" json:"gnoi_switchover_reason_missing_user_initiated,omitempty"`
// The name used for the default network instance for VRF. The default name
// in OpenConfig is \"DEFAULT\" but some legacy devices still use
// \"default\".
DefaultNetworkInstance string `protobuf:"bytes,80,opt,name=default_network_instance,json=defaultNetworkInstance,proto3" json:"default_network_instance,omitempty"`
// Device allows unset Election ID to be primary.
P4RtUnsetelectionidPrimaryAllowed bool `protobuf:"varint,81,opt,name=p4rt_unsetelectionid_primary_allowed,json=p4rtUnsetelectionidPrimaryAllowed,proto3" json:"p4rt_unsetelectionid_primary_allowed,omitempty"`
// Device sets ALREADY_EXISTS status code for all backup client responses.
BkupArbitrationRespCode bool `protobuf:"varint,82,opt,name=bkup_arbitration_resp_code,json=bkupArbitrationRespCode,proto3" json:"bkup_arbitration_resp_code,omitempty"`
// Device requires IPOverIP decapsulation for backup NHG without interfaces.
BackupNhgRequiresVrfWithDecap bool `protobuf:"varint,83,opt,name=backup_nhg_requires_vrf_with_decap,json=backupNhgRequiresVrfWithDecap,proto3" json:"backup_nhg_requires_vrf_with_decap,omitempty"`
// Devices don't support configuring ISIS /afi-safi/af/config container.
IsisInterfaceAfiUnsupported bool `protobuf:"varint,85,opt,name=isis_interface_afi_unsupported,json=isisInterfaceAfiUnsupported,proto3" json:"isis_interface_afi_unsupported,omitempty"`
// Devices don't support modify table entry operation in P4 Runtime.
P4RtModifyTableEntryUnsupported bool `protobuf:"varint,86,opt,name=p4rt_modify_table_entry_unsupported,json=p4rtModifyTableEntryUnsupported,proto3" json:"p4rt_modify_table_entry_unsupported,omitempty"`
// Parent of OS component is of type SUPERVISOR or LINECARD.
OsComponentParentIsSupervisorOrLinecard bool `protobuf:"varint,87,opt,name=os_component_parent_is_supervisor_or_linecard,json=osComponentParentIsSupervisorOrLinecard,proto3" json:"os_component_parent_is_supervisor_or_linecard,omitempty"`
// Parent of OS component is of type CHASSIS.
OsComponentParentIsChassis bool `protobuf:"varint,88,opt,name=os_component_parent_is_chassis,json=osComponentParentIsChassis,proto3" json:"os_component_parent_is_chassis,omitempty"`
// Devices require configuring the same ISIS Metrics for Level 1 when
// configuring Level 2 Metrics.
IsisRequireSameL1MetricWithL2Metric bool `protobuf:"varint,91,opt,name=isis_require_same_l1_metric_with_l2_metric,json=isisRequireSameL1MetricWithL2Metric,proto3" json:"isis_require_same_l1_metric_with_l2_metric,omitempty"`
// Devices require configuring the same OSPF setMetric when BGP
// SetMED is configured.
BgpSetMedRequiresEqualOspfSetMetric bool `protobuf:"varint,92,opt,name=bgp_set_med_requires_equal_ospf_set_metric,json=bgpSetMedRequiresEqualOspfSetMetric,proto3" json:"bgp_set_med_requires_equal_ospf_set_metric,omitempty"`
// Devices require configuring subinterface with tagged vlan for p4rt
// packet in.
P4RtGdpRequiresDot1QSubinterface bool `protobuf:"varint,93,opt,name=p4rt_gdp_requires_dot1q_subinterface,json=p4rtGdpRequiresDot1qSubinterface,proto3" json:"p4rt_gdp_requires_dot1q_subinterface,omitempty"`
// ATE port link state operations are a no-op in KNE/virtualized
// environments.
AtePortLinkStateOperationsUnsupported bool `protobuf:"varint,94,opt,name=ate_port_link_state_operations_unsupported,json=atePortLinkStateOperationsUnsupported,proto3" json:"ate_port_link_state_operations_unsupported,omitempty"`
// Creates a user and assigns role/rbac to said user via native model.
SetNativeUser bool `protobuf:"varint,95,opt,name=set_native_user,json=setNativeUser,proto3" json:"set_native_user,omitempty"`
// Device does not support telemetry path
// /components/component/cpu/utilization/state/avg for linecards' CPU card.
LinecardCpuUtilizationUnsupported bool `protobuf:"varint,98,opt,name=linecard_cpu_utilization_unsupported,json=linecardCpuUtilizationUnsupported,proto3" json:"linecard_cpu_utilization_unsupported,omitempty"`
// Device does not support consistent component names for GNOI and GNMI.
ConsistentComponentNamesUnsupported bool `protobuf:"varint,99,opt,name=consistent_component_names_unsupported,json=consistentComponentNamesUnsupported,proto3" json:"consistent_component_names_unsupported,omitempty"`
// Device does not support telemetry path
// /components/component/cpu/utilization/state/avg for controller cards'
// CPU card.
ControllerCardCpuUtilizationUnsupported bool `protobuf:"varint,100,opt,name=controller_card_cpu_utilization_unsupported,json=controllerCardCpuUtilizationUnsupported,proto3" json:"controller_card_cpu_utilization_unsupported,omitempty"`
// Device does not support counter for fabric block drop packets.
// Cisco: https://partnerissuetracker.corp.google.com/issues/477492526
FabricDropCounterUnsupported bool `protobuf:"varint,101,opt,name=fabric_drop_counter_unsupported,json=fabricDropCounterUnsupported,proto3" json:"fabric_drop_counter_unsupported,omitempty"`
// Device does not support memory utilization related leaves for linecard
// components.
LinecardMemoryUtilizationUnsupported bool `protobuf:"varint,102,opt,name=linecard_memory_utilization_unsupported,json=linecardMemoryUtilizationUnsupported,proto3" json:"linecard_memory_utilization_unsupported,omitempty"`
// Device does not support telemetry path
// /qos/interfaces/interface/input/virtual-output-queues/voq-interface/queues/queue/state/dropped-pkts.
QosVoqDropCounterUnsupported bool `protobuf:"varint,103,opt,name=qos_voq_drop_counter_unsupported,json=qosVoqDropCounterUnsupported,proto3" json:"qos_voq_drop_counter_unsupported,omitempty"`
// ATE IPv6 flow label unsupported in KNE/virtualized environments.
AteIpv6FlowLabelUnsupported bool `protobuf:"varint,104,opt,name=ate_ipv6_flow_label_unsupported,json=ateIpv6FlowLabelUnsupported,proto3" json:"ate_ipv6_flow_label_unsupported,omitempty"`
// Devices do not support configuring isis csnp-interval timer.
// Arista: partnerissuetracker.corp.google.com/299283216
IsisTimersCsnpIntervalUnsupported bool `protobuf:"varint,105,opt,name=isis_timers_csnp_interval_unsupported,json=isisTimersCsnpIntervalUnsupported,proto3" json:"isis_timers_csnp_interval_unsupported,omitempty"`
// Devices do not support telemetry for isis counter:
// manual-address-drop-from-areas.
// Arista: partnerissuetracker.corp.google.com/299285115
IsisCounterManualAddressDropFromAreasUnsupported bool `protobuf:"varint,106,opt,name=isis_counter_manual_address_drop_from_areas_unsupported,json=isisCounterManualAddressDropFromAreasUnsupported,proto3" json:"isis_counter_manual_address_drop_from_areas_unsupported,omitempty"`
// Devices do not support telemetry for isis counter: part-changes.
// Arista: partnerissuetracker.corp.google.com/317086576
IsisCounterPartChangesUnsupported bool `protobuf:"varint,107,opt,name=isis_counter_part_changes_unsupported,json=isisCounterPartChangesUnsupported,proto3" json:"isis_counter_part_changes_unsupported,omitempty"`
// Devices do not support threshold container under
// /components/component/transceiver.
// Cisco: https://partnerissuetracker.corp.google.com/issues/475716370
TransceiverThresholdsUnsupported bool `protobuf:"varint,108,opt,name=transceiver_thresholds_unsupported,json=transceiverThresholdsUnsupported,proto3" json:"transceiver_thresholds_unsupported,omitempty"`
// Update interface loopback mode using raw gnmi API due to server version.
InterfaceLoopbackModeRawGnmi bool `protobuf:"varint,109,opt,name=interface_loopback_mode_raw_gnmi,json=interfaceLoopbackModeRawGnmi,proto3" json:"interface_loopback_mode_raw_gnmi,omitempty"`
// Devices do not support showing negotiated tcp mss value in bgp tcp mss
// telemetry. Juniper: b/300499125
SkipTcpNegotiatedMssCheck bool `protobuf:"varint,110,opt,name=skip_tcp_negotiated_mss_check,json=skipTcpNegotiatedMssCheck,proto3" json:"skip_tcp_negotiated_mss_check,omitempty"`
// Devices don't support ISIS-Lsp metadata paths: checksum, sequence-number,
// remaining-lifetime.
IsisLspMetadataLeafsUnsupported bool `protobuf:"varint,111,opt,name=isis_lsp_metadata_leafs_unsupported,json=isisLspMetadataLeafsUnsupported,proto3" json:"isis_lsp_metadata_leafs_unsupported,omitempty"`
// QOS queue requires configuration with queue-id
QosQueueRequiresId bool `protobuf:"varint,112,opt,name=qos_queue_requires_id,json=qosQueueRequiresId,proto3" json:"qos_queue_requires_id,omitempty"`
// QOS requires buffer-allocation-profile configuration
QosBufferAllocationConfigRequired bool `protobuf:"varint,114,opt,name=qos_buffer_allocation_config_required,json=qosBufferAllocationConfigRequired,proto3" json:"qos_buffer_allocation_config_required,omitempty"`
// Devices do not support configuring ExtendedNextHopEncoding at the BGP
// global level. Arista:
// https://partnerissuetracker.corp.google.com/issues/203683090
BgpGlobalExtendedNextHopEncodingUnsupported bool `protobuf:"varint,115,opt,name=bgp_global_extended_next_hop_encoding_unsupported,json=bgpGlobalExtendedNextHopEncodingUnsupported,proto3" json:"bgp_global_extended_next_hop_encoding_unsupported,omitempty"`
// OC unsupported for BGP LLGR disable.
// Juniper: b/303479602
BgpLlgrOcUndefined bool `protobuf:"varint,116,opt,name=bgp_llgr_oc_undefined,json=bgpLlgrOcUndefined,proto3" json:"bgp_llgr_oc_undefined,omitempty"`
// Device does not support tunnel interfaces state paths
// Juniper: partnerissuetracker.corp.google.com/300111031
TunnelStatePathUnsupported bool `protobuf:"varint,117,opt,name=tunnel_state_path_unsupported,json=tunnelStatePathUnsupported,proto3" json:"tunnel_state_path_unsupported,omitempty"`
// Device does not support tunnel interfaces source and destination address
// config paths Juniper: partnerissuetracker.corp.google.com/300111031
TunnelConfigPathUnsupported bool `protobuf:"varint,118,opt,name=tunnel_config_path_unsupported,json=tunnelConfigPathUnsupported,proto3" json:"tunnel_config_path_unsupported,omitempty"`
// Cisco: Device does not support same minimun and maximum threshold value
// in QOS ECN config.
EcnSameMinMaxThresholdUnsupported bool `protobuf:"varint,119,opt,name=ecn_same_min_max_threshold_unsupported,json=ecnSameMinMaxThresholdUnsupported,proto3" json:"ecn_same_min_max_threshold_unsupported,omitempty"`
// Cisco: QOS requires scheduler configuration.
QosSchedulerConfigRequired bool `protobuf:"varint,120,opt,name=qos_scheduler_config_required,json=qosSchedulerConfigRequired,proto3" json:"qos_scheduler_config_required,omitempty"`
// Cisco: Device does not support set weight config under QOS ECN
// configuration.
QosSetWeightConfigUnsupported bool `protobuf:"varint,121,opt,name=qos_set_weight_config_unsupported,json=qosSetWeightConfigUnsupported,proto3" json:"qos_set_weight_config_unsupported,omitempty"`
// Cisco: Device does not support these get state path.
QosGetStatePathUnsupported bool `protobuf:"varint,122,opt,name=qos_get_state_path_unsupported,json=qosGetStatePathUnsupported,proto3" json:"qos_get_state_path_unsupported,omitempty"`
// Devices requires enabled leaf under isis level
// Juniper: partnerissuetracker.corp.google.com/302661486
IsisLevelEnabled bool `protobuf:"varint,123,opt,name=isis_level_enabled,json=isisLevelEnabled,proto3" json:"isis_level_enabled,omitempty"`
// Devices which require to use interface-id format of interface name +
// .subinterface index with Interface-ref container
InterfaceRefInterfaceIdFormat bool `protobuf:"varint,124,opt,name=interface_ref_interface_id_format,json=interfaceRefInterfaceIdFormat,proto3" json:"interface_ref_interface_id_format,omitempty"`
// Devices does not support member link loopback
// Juniper: b/307763669
MemberLinkLoopbackUnsupported bool `protobuf:"varint,125,opt,name=member_link_loopback_unsupported,json=memberLinkLoopbackUnsupported,proto3" json:"member_link_loopback_unsupported,omitempty"`
// Device does not support PLQ operational status check on interface
// Juniper: b/308990185
SkipPlqInterfaceOperStatusCheck bool `protobuf:"varint,126,opt,name=skip_plq_interface_oper_status_check,json=skipPlqInterfaceOperStatusCheck,proto3" json:"skip_plq_interface_oper_status_check,omitempty"`
// Device set received prefix limits explicitly under prefix-limit-received
// rather than "prefix-limit"
BgpExplicitPrefixLimitReceived bool `protobuf:"varint,127,opt,name=bgp_explicit_prefix_limit_received,json=bgpExplicitPrefixLimitReceived,proto3" json:"bgp_explicit_prefix_limit_received,omitempty"`
// Device does not configure BGP maximum routes correctly when max-prefixes
// leaf is configured
BgpMissingOcMaxPrefixesConfiguration bool `protobuf:"varint,128,opt,name=bgp_missing_oc_max_prefixes_configuration,json=bgpMissingOcMaxPrefixesConfiguration,proto3" json:"bgp_missing_oc_max_prefixes_configuration,omitempty"`
// Devices which needs to skip checking AFI-SAFI disable.
// Juniper: b/310698466
SkipBgpSessionCheckWithoutAfisafi bool `protobuf:"varint,129,opt,name=skip_bgp_session_check_without_afisafi,json=skipBgpSessionCheckWithoutAfisafi,proto3" json:"skip_bgp_session_check_without_afisafi,omitempty"`
// Devices that have separate naming conventions for hardware resource name
// in /system/ tree and /components/ tree.
MismatchedHardwareResourceNameInComponent bool `protobuf:"varint,130,opt,name=mismatched_hardware_resource_name_in_component,json=mismatchedHardwareResourceNameInComponent,proto3" json:"mismatched_hardware_resource_name_in_component,omitempty"`
// Device does not support reboot status check on subcomponents.
GnoiSubcomponentRebootStatusUnsupported bool `protobuf:"varint,132,opt,name=gnoi_subcomponent_reboot_status_unsupported,json=gnoiSubcomponentRebootStatusUnsupported,proto3" json:"gnoi_subcomponent_reboot_status_unsupported,omitempty"`
// Devices exports routes from all protocols to BGP if the export-policy is
// ACCEPT Juniper: b/308970803
SkipNonBgpRouteExportCheck bool `protobuf:"varint,133,opt,name=skip_non_bgp_route_export_check,json=skipNonBgpRouteExportCheck,proto3" json:"skip_non_bgp_route_export_check,omitempty"`
// Devices do not support path
// /network-instances/network-instance/protocols/protocol/isis/levels/level/state/metric-style
// Arista: https://partnerissuetracker.corp.google.com/issues/317064733
IsisMetricStyleTelemetryUnsupported bool `protobuf:"varint,134,opt,name=isis_metric_style_telemetry_unsupported,json=isisMetricStyleTelemetryUnsupported,proto3" json:"isis_metric_style_telemetry_unsupported,omitempty"`
// Devices do not support configuring Interface-ref under Static-Route
// Next-Hop
StaticRouteNextHopInterfaceRefUnsupported bool `protobuf:"varint,135,opt,name=static_route_next_hop_interface_ref_unsupported,json=staticRouteNextHopInterfaceRefUnsupported,proto3" json:"static_route_next_hop_interface_ref_unsupported,omitempty"`
// Devices which does not support nexthop index state
// Juniper: b/304729237
SkipStaticNexthopCheck bool `protobuf:"varint,136,opt,name=skip_static_nexthop_check,json=skipStaticNexthopCheck,proto3" json:"skip_static_nexthop_check,omitempty"`
// Device doesn't support router advertisement enable and mode config
// Juniper: b/316173974
Ipv6RouterAdvertisementConfigUnsupported bool `protobuf:"varint,138,opt,name=ipv6_router_advertisement_config_unsupported,json=ipv6RouterAdvertisementConfigUnsupported,proto3" json:"ipv6_router_advertisement_config_unsupported,omitempty"`
// Devices does not support setting prefix limit exceeded flag.
// Juniper : b/317181227
PrefixLimitExceededTelemetryUnsupported bool `protobuf:"varint,139,opt,name=prefix_limit_exceeded_telemetry_unsupported,json=prefixLimitExceededTelemetryUnsupported,proto3" json:"prefix_limit_exceeded_telemetry_unsupported,omitempty"`
// Skip setting allow-multiple-as while configuring eBGP
// Arista: partnerissuetracker.corp.google.com/issues/317422300
SkipSettingAllowMultipleAs bool `protobuf:"varint,140,opt,name=skip_setting_allow_multiple_as,json=skipSettingAllowMultipleAs,proto3" json:"skip_setting_allow_multiple_as,omitempty"`
// Devices does not support mixed prefix length in gribi.
// Juniper: b/307824407
GribiDecapMixedPlenUnsupported bool `protobuf:"varint,143,opt,name=gribi_decap_mixed_plen_unsupported,json=gribiDecapMixedPlenUnsupported,proto3" json:"gribi_decap_mixed_plen_unsupported,omitempty"`
// Skip setting isis-actions set-level while configuring routing-policy
// statement action
SkipIsisSetLevel bool `protobuf:"varint,144,opt,name=skip_isis_set_level,json=skipIsisSetLevel,proto3" json:"skip_isis_set_level,omitempty"`
// Skip setting isis-actions set-metric-style-type while configuring
// routing-policy statement action
// Cisco b/456075095
SkipIsisSetMetricStyleType bool `protobuf:"varint,145,opt,name=skip_isis_set_metric_style_type,json=skipIsisSetMetricStyleType,proto3" json:"skip_isis_set_metric_style_type,omitempty"`
// Skip setting disable-metric-propagation while configuring
// table-connection
SkipSettingDisableMetricPropagation bool `protobuf:"varint,147,opt,name=skip_setting_disable_metric_propagation,json=skipSettingDisableMetricPropagation,proto3" json:"skip_setting_disable_metric_propagation,omitempty"`
// Devices do not support BGP conditions match-community-set
BgpConditionsMatchCommunitySetUnsupported bool `protobuf:"varint,148,opt,name=bgp_conditions_match_community_set_unsupported,json=bgpConditionsMatchCommunitySetUnsupported,proto3" json:"bgp_conditions_match_community_set_unsupported,omitempty"`
// Device requires match condition for ethertype v4 and v6 for default rule
// with network-instance default-vrf in policy-forwarding.
PfRequireMatchDefaultRule bool `protobuf:"varint,149,opt,name=pf_require_match_default_rule,json=pfRequireMatchDefaultRule,proto3" json:"pf_require_match_default_rule,omitempty"`
// Devices missing component tree mapping from hardware port
// to optical channel.
MissingPortToOpticalChannelComponentMapping bool `protobuf:"varint,150,opt,name=missing_port_to_optical_channel_component_mapping,json=missingPortToOpticalChannelComponentMapping,proto3" json:"missing_port_to_optical_channel_component_mapping,omitempty"`
// Skip gNMI container OP tc.
// Cisco: https://partnerissuetracker.corp.google.com/issues/322291556
SkipContainerOp bool `protobuf:"varint,151,opt,name=skip_container_op,json=skipContainerOp,proto3" json:"skip_container_op,omitempty"`
// Reorder calls for vendor compatibility.
// Cisco: https://partnerissuetracker.corp.google.com/issues/322291556
ReorderCallsForVendorCompatibilty bool `protobuf:"varint,152,opt,name=reorder_calls_for_vendor_compatibilty,json=reorderCallsForVendorCompatibilty,proto3" json:"reorder_calls_for_vendor_compatibilty,omitempty"`
// Add missing base config using cli.
// Cisco: https://partnerissuetracker.corp.google.com/issues/322291556
AddMissingBaseConfigViaCli bool `protobuf:"varint,153,opt,name=add_missing_base_config_via_cli,json=addMissingBaseConfigViaCli,proto3" json:"add_missing_base_config_via_cli,omitempty"`
// skip_macaddress_check returns true if mac address for an interface via
// gNMI needs to be skipped. Cisco:
// https://partnerissuetracker.corp.google.com/issues/322291556
SkipMacaddressCheck bool `protobuf:"varint,154,opt,name=skip_macaddress_check,json=skipMacaddressCheck,proto3" json:"skip_macaddress_check,omitempty"`
// Devices are having native telemetry paths for BGP RIB verification.
// Juniper : b/306144372
BgpRibOcPathUnsupported bool `protobuf:"varint,155,opt,name=bgp_rib_oc_path_unsupported,json=bgpRibOcPathUnsupported,proto3" json:"bgp_rib_oc_path_unsupported,omitempty"`
// Skip setting prefix-set mode while configuring prefix-set routing-policy
SkipPrefixSetMode bool `protobuf:"varint,156,opt,name=skip_prefix_set_mode,json=skipPrefixSetMode,proto3" json:"skip_prefix_set_mode,omitempty"`
// Devices set metric as preference for static next-hop
SetMetricAsPreference bool `protobuf:"varint,157,opt,name=set_metric_as_preference,json=setMetricAsPreference,proto3" json:"set_metric_as_preference,omitempty"`
// Devices don't support having an IPv6 static Route with an IPv4 address
// as next hop and requires configuring a static ARP entry.
// Arista: https://partnerissuetracker.corp.google.com/issues/316593298
Ipv6StaticRouteWithIpv4NextHopRequiresStaticArp bool `protobuf:"varint,158,opt,name=ipv6_static_route_with_ipv4_next_hop_requires_static_arp,json=ipv6StaticRouteWithIpv4NextHopRequiresStaticArp,proto3" json:"ipv6_static_route_with_ipv4_next_hop_requires_static_arp,omitempty"`
// Device requires policy-forwarding rules to be in sequential order in the
// gNMI set-request.
PfRequireSequentialOrderPbrRules bool `protobuf:"varint,159,opt,name=pf_require_sequential_order_pbr_rules,json=pfRequireSequentialOrderPbrRules,proto3" json:"pf_require_sequential_order_pbr_rules,omitempty"`
// Device telemetry missing next hop metric value.
// Arista: https://partnerissuetracker.corp.google.com/issues/321010782
MissingStaticRouteNextHopMetricTelemetry bool `protobuf:"varint,160,opt,name=missing_static_route_next_hop_metric_telemetry,json=missingStaticRouteNextHopMetricTelemetry,proto3" json:"missing_static_route_next_hop_metric_telemetry,omitempty"`
// Device does not support recursive resolution of static route next hop.
// Arista: https://partnerissuetracker.corp.google.com/issues/314449182
UnsupportedStaticRouteNextHopRecurse bool `protobuf:"varint,161,opt,name=unsupported_static_route_next_hop_recurse,json=unsupportedStaticRouteNextHopRecurse,proto3" json:"unsupported_static_route_next_hop_recurse,omitempty"`
// Device missing telemetry for static route that has DROP next hop.
// Arista: https://partnerissuetracker.corp.google.com/issues/330619816
MissingStaticRouteDropNextHopTelemetry bool `protobuf:"varint,162,opt,name=missing_static_route_drop_next_hop_telemetry,json=missingStaticRouteDropNextHopTelemetry,proto3" json:"missing_static_route_drop_next_hop_telemetry,omitempty"`
// Device missing 400ZR optical-channel tunable parameters telemetry:
// min/max/avg.
// Arista: https://partnerissuetracker.corp.google.com/issues/319314781
MissingZrOpticalChannelTunableParametersTelemetry bool `protobuf:"varint,163,opt,name=missing_zr_optical_channel_tunable_parameters_telemetry,json=missingZrOpticalChannelTunableParametersTelemetry,proto3" json:"missing_zr_optical_channel_tunable_parameters_telemetry,omitempty"`
// Device that does not support packet link qualification reflector packet
// sent/received stats.
PlqReflectorStatsUnsupported bool `protobuf:"varint,164,opt,name=plq_reflector_stats_unsupported,json=plqReflectorStatsUnsupported,proto3" json:"plq_reflector_stats_unsupported,omitempty"`
// Device that does not support PLQ Generator max_mtu to be atleast >= 8184.
PlqGeneratorCapabilitiesMaxMtu uint32 `protobuf:"varint,165,opt,name=plq_generator_capabilities_max_mtu,json=plqGeneratorCapabilitiesMaxMtu,proto3" json:"plq_generator_capabilities_max_mtu,omitempty"`
// Device that does not support PLQ Generator max_pps to be atleast >=
// 100000000.
PlqGeneratorCapabilitiesMaxPps uint64 `protobuf:"varint,166,opt,name=plq_generator_capabilities_max_pps,json=plqGeneratorCapabilitiesMaxPps,proto3" json:"plq_generator_capabilities_max_pps,omitempty"`
// Support for bgp extended community index
BgpExtendedCommunityIndexUnsupported bool `protobuf:"varint,167,opt,name=bgp_extended_community_index_unsupported,json=bgpExtendedCommunityIndexUnsupported,proto3" json:"bgp_extended_community_index_unsupported,omitempty"`
// Support for bgp community set refs
BgpCommunitySetRefsUnsupported bool `protobuf:"varint,168,opt,name=bgp_community_set_refs_unsupported,json=bgpCommunitySetRefsUnsupported,proto3" json:"bgp_community_set_refs_unsupported,omitempty"`
// Arista device needs CLI knob to enable WECMP feature
RibWecmp bool `protobuf:"varint,169,opt,name=rib_wecmp,json=ribWecmp,proto3" json:"rib_wecmp,omitempty"`
// Device not supporting table-connection need to set this true
TableConnectionsUnsupported bool `protobuf:"varint,170,opt,name=table_connections_unsupported,json=tableConnectionsUnsupported,proto3" json:"table_connections_unsupported,omitempty"`
// Configure tag-set using vendor native model
UseVendorNativeTagSetConfig bool `protobuf:"varint,171,opt,name=use_vendor_native_tag_set_config,json=useVendorNativeTagSetConfig,proto3" json:"use_vendor_native_tag_set_config,omitempty"`
// Skip setting send-community-type in bgp global config
SkipBgpSendCommunityType bool `protobuf:"varint,172,opt,name=skip_bgp_send_community_type,json=skipBgpSendCommunityType,proto3" json:"skip_bgp_send_community_type,omitempty"`
// Support for bgp actions set-community method
BgpActionsSetCommunityMethodUnsupported bool `protobuf:"varint,174,opt,name=bgp_actions_set_community_method_unsupported,json=bgpActionsSetCommunityMethodUnsupported,proto3" json:"bgp_actions_set_community_method_unsupported,omitempty"`
// Ensure no configurations exist under BGP Peer Groups
SetNoPeerGroup bool `protobuf:"varint,175,opt,name=set_no_peer_group,json=setNoPeerGroup,proto3" json:"set_no_peer_group,omitempty"`
// Bgp community member is a string
BgpCommunityMemberIsAString bool `protobuf:"varint,176,opt,name=bgp_community_member_is_a_string,json=bgpCommunityMemberIsAString,proto3" json:"bgp_community_member_is_a_string,omitempty"`
// Flag to indicate whether IPv4 static routes with IPv6 next-hops are
// unsupported.
Ipv4StaticRouteWithIpv6NhUnsupported bool `protobuf:"varint,177,opt,name=ipv4_static_route_with_ipv6_nh_unsupported,json=ipv4StaticRouteWithIpv6NhUnsupported,proto3" json:"ipv4_static_route_with_ipv6_nh_unsupported,omitempty"`
// Flag to indicate whether IPv6 static routes with IPv4 next-hops are
// unsupported.
Ipv6StaticRouteWithIpv4NhUnsupported bool `protobuf:"varint,178,opt,name=ipv6_static_route_with_ipv4_nh_unsupported,json=ipv6StaticRouteWithIpv4NhUnsupported,proto3" json:"ipv6_static_route_with_ipv4_nh_unsupported,omitempty"`
// Flag to indicate support for static routes that simply drop packets
StaticRouteWithDropNh bool `protobuf:"varint,179,opt,name=static_route_with_drop_nh,json=staticRouteWithDropNh,proto3" json:"static_route_with_drop_nh,omitempty"`
// Flag to indicate support for static routes that can be configured with an
// explicit metric.
StaticRouteWithExplicitMetric bool `protobuf:"varint,180,opt,name=static_route_with_explicit_metric,json=staticRouteWithExplicitMetric,proto3" json:"static_route_with_explicit_metric,omitempty"`
// Support for bgp default import/export policy
BgpDefaultPolicyUnsupported bool `protobuf:"varint,181,opt,name=bgp_default_policy_unsupported,json=bgpDefaultPolicyUnsupported,proto3" json:"bgp_default_policy_unsupported,omitempty"`
// Flag to enable bgp explicity on default vrf
// Arista: b/329094094#comment9
ExplicitEnableBgpOnDefaultVrf bool `protobuf:"varint,182,opt,name=explicit_enable_bgp_on_default_vrf,json=explicitEnableBgpOnDefaultVrf,proto3" json:"explicit_enable_bgp_on_default_vrf,omitempty"`
// tag-set is not a real separate entity, but is embedded in the policy
// statement. this implies that 1. routing policy tag set name needs to be
// '<policy name> <statement name>'
// 2. only one policy statement can make use of a tag-set, and 3. tag must
// be refered by a policy
RoutingPolicyTagSetEmbedded bool `protobuf:"varint,183,opt,name=routing_policy_tag_set_embedded,json=routingPolicyTagSetEmbedded,proto3" json:"routing_policy_tag_set_embedded,omitempty"`
// Devices does not support allow multiple as under AFI/SAFI.
// CISCO: b/340859662
SkipAfiSafiPathForBgpMultipleAs bool `protobuf:"varint,184,opt,name=skip_afi_safi_path_for_bgp_multiple_as,json=skipAfiSafiPathForBgpMultipleAs,proto3" json:"skip_afi_safi_path_for_bgp_multiple_as,omitempty"`
// Device does not support regex with routing-policy community-member.
CommunityMemberRegexUnsupported bool `protobuf:"varint,185,opt,name=community_member_regex_unsupported,json=communityMemberRegexUnsupported,proto3" json:"community_member_regex_unsupported,omitempty"`
// Support for same import policy attached to all AFIs for given
// (src-protocol, dst-protocol, network-instance) triple Arista:
// b/339645876#comment4
SamePolicyAttachedToAllAfis bool `protobuf:"varint,186,opt,name=same_policy_attached_to_all_afis,json=samePolicyAttachedToAllAfis,proto3" json:"same_policy_attached_to_all_afis,omitempty"`
// Devices needs to skip setting statement for policy to be applied as
// action pass otherwise it will be configured as action done.
// CISCO: b/338523730
SkipSettingStatementForPolicy bool `protobuf:"varint,187,opt,name=skip_setting_statement_for_policy,json=skipSettingStatementForPolicy,proto3" json:"skip_setting_statement_for_policy,omitempty"`
// Devices does not support index specific attribute fetching and hence
// wildcards has to be used.
// CISCO: b/338523730
SkipCheckingAttributeIndex bool `protobuf:"varint,188,opt,name=skip_checking_attribute_index,json=skipCheckingAttributeIndex,proto3" json:"skip_checking_attribute_index,omitempty"`
// Devices does not suppport policy-chaining, so needs to flatten policies
// with multiple statements.
// CISCO: b/338526243
FlattenPolicyWithMultipleStatements bool `protobuf:"varint,189,opt,name=flatten_policy_with_multiple_statements,json=flattenPolicyWithMultipleStatements,proto3" json:"flatten_policy_with_multiple_statements,omitempty"`
// default_route_policy_unsupported is set to true for devices that do not
// support default route policy.
DefaultRoutePolicyUnsupported bool `protobuf:"varint,190,opt,name=default_route_policy_unsupported,json=defaultRoutePolicyUnsupported,proto3" json:"default_route_policy_unsupported,omitempty"`
// CISCO: b/339801843
SlaacPrefixLength128 bool `protobuf:"varint,191,opt,name=slaac_prefix_length128,json=slaacPrefixLength128,proto3" json:"slaac_prefix_length128,omitempty"`
// Devices does not support bgp max multipaths
// Juniper: b/319301559
BgpMaxMultipathPathsUnsupported bool `protobuf:"varint,192,opt,name=bgp_max_multipath_paths_unsupported,json=bgpMaxMultipathPathsUnsupported,proto3" json:"bgp_max_multipath_paths_unsupported,omitempty"`
// Devices does not multipath config at neighbor or afisafi level
// Juniper: b/341130490
MultipathUnsupportedNeighborOrAfisafi bool `protobuf:"varint,193,opt,name=multipath_unsupported_neighbor_or_afisafi,json=multipathUnsupportedNeighborOrAfisafi,proto3" json:"multipath_unsupported_neighbor_or_afisafi,omitempty"`
// Devices that do not support /components/component/state/model-name for
// any component types.
// Note that for model name to be supported, the
// /components/component/state/model-name of the chassis component must be
// equal to the canonical hardware model name of its device.
ModelNameUnsupported bool `protobuf:"varint,194,opt,name=model_name_unsupported,json=modelNameUnsupported,proto3" json:"model_name_unsupported,omitempty"`
// community_match_with_redistribution_unsupported is set to true for devices that do not support matching community at the redistribution attach point.
CommunityMatchWithRedistributionUnsupported bool `protobuf:"varint,195,opt,name=community_match_with_redistribution_unsupported,json=communityMatchWithRedistributionUnsupported,proto3" json:"community_match_with_redistribution_unsupported,omitempty"`
// Devices that do not support components/component/state/install-component
// and components/component/state/install-position.
InstallPositionAndInstallComponentUnsupported bool `protobuf:"varint,196,opt,name=install_position_and_install_component_unsupported,json=installPositionAndInstallComponentUnsupported,proto3" json:"install_position_and_install_component_unsupported,omitempty"`
// Encap tunnel is shut then zero traffic will flow to backup NHG
EncapTunnelShutBackupNhgZeroTraffic bool `protobuf:"varint,197,opt,name=encap_tunnel_shut_backup_nhg_zero_traffic,json=encapTunnelShutBackupNhgZeroTraffic,proto3" json:"encap_tunnel_shut_backup_nhg_zero_traffic,omitempty"`
// Flag to indicate support for max ecmp paths for isis.
MaxEcmpPaths bool `protobuf:"varint,198,opt,name=max_ecmp_paths,json=maxEcmpPaths,proto3" json:"max_ecmp_paths,omitempty"`
// wecmp_auto_unsupported is set to true for devices that do not support auto wecmp
WecmpAutoUnsupported bool `protobuf:"varint,199,opt,name=wecmp_auto_unsupported,json=wecmpAutoUnsupported,proto3" json:"wecmp_auto_unsupported,omitempty"`
// policy chaining, ie. more than one policy at an attachement point is not supported
RoutingPolicyChainingUnsupported bool `protobuf:"varint,200,opt,name=routing_policy_chaining_unsupported,json=routingPolicyChainingUnsupported,proto3" json:"routing_policy_chaining_unsupported,omitempty"`
// isis loopback config required
IsisLoopbackRequired bool `protobuf:"varint,201,opt,name=isis_loopback_required,json=isisLoopbackRequired,proto3" json:"isis_loopback_required,omitempty"`
// weighted ecmp feature verification using fixed packet
WeightedEcmpFixedPacketVerification bool `protobuf:"varint,202,opt,name=weighted_ecmp_fixed_packet_verification,json=weightedEcmpFixedPacketVerification,proto3" json:"weighted_ecmp_fixed_packet_verification,omitempty"`
// Override default NextHop scale while enabling encap/decap scale
// CISCO:
OverrideDefaultNhScale bool `protobuf:"varint,203,opt,name=override_default_nh_scale,json=overrideDefaultNhScale,proto3" json:"override_default_nh_scale,omitempty"`
// Devices that donot support setting bgp extended community set
BgpExtendedCommunitySetUnsupported bool `protobuf:"varint,204,opt,name=bgp_extended_community_set_unsupported,json=bgpExtendedCommunitySetUnsupported,proto3" json:"bgp_extended_community_set_unsupported,omitempty"`
// Devices that do not support setting bgp extended community set refs
BgpSetExtCommunitySetRefsUnsupported bool `protobuf:"varint,205,opt,name=bgp_set_ext_community_set_refs_unsupported,json=bgpSetExtCommunitySetRefsUnsupported,proto3" json:"bgp_set_ext_community_set_refs_unsupported,omitempty"`
// Devices that do not support deleting link bandwidth
BgpDeleteLinkBandwidthUnsupported bool `protobuf:"varint,206,opt,name=bgp_delete_link_bandwidth_unsupported,json=bgpDeleteLinkBandwidthUnsupported,proto3" json:"bgp_delete_link_bandwidth_unsupported,omitempty"`
// qos_inqueue_drop_counter_Unsupported is set to true for devices that do not support qos ingress queue drop counters.
// Juniper: b/341130490
QosInqueueDropCounterUnsupported bool `protobuf:"varint,207,opt,name=qos_inqueue_drop_counter_unsupported,json=qosInqueueDropCounterUnsupported,proto3" json:"qos_inqueue_drop_counter_unsupported,omitempty"`
// Devices that need bgp extended community enable explicitly
BgpExplicitExtendedCommunityEnable bool `protobuf:"varint,208,opt,name=bgp_explicit_extended_community_enable,json=bgpExplicitExtendedCommunityEnable,proto3" json:"bgp_explicit_extended_community_enable,omitempty"`
// devices that do not support match tag set condition
MatchTagSetConditionUnsupported bool `protobuf:"varint,209,opt,name=match_tag_set_condition_unsupported,json=matchTagSetConditionUnsupported,proto3" json:"match_tag_set_condition_unsupported,omitempty"`
// peer_group_def_bgp_vrf_unsupported is set to true for devices that do not support peer group definition under bgp vrf configuration.
PeerGroupDefEbgpVrfUnsupported bool `protobuf:"varint,210,opt,name=peer_group_def_ebgp_vrf_unsupported,json=peerGroupDefEbgpVrfUnsupported,proto3" json:"peer_group_def_ebgp_vrf_unsupported,omitempty"`
// redis_uconnected_under_ebgp_vrf_unsupported is set to true for devices that do not support redistribution of connected routes under ebgp vrf configuration.
RedisConnectedUnderEbgpVrfUnsupported bool `protobuf:"varint,211,opt,name=redis_connected_under_ebgp_vrf_unsupported,json=redisConnectedUnderEbgpVrfUnsupported,proto3" json:"redis_connected_under_ebgp_vrf_unsupported,omitempty"`
// bgp_afisafi_in_default_ni_before_other_ni is set to true for devices that require certain afi/safis to be enabled
// in default network instance (ni) before enabling afi/safis for neighbors in default or non-default ni.
BgpAfiSafiInDefaultNiBeforeOtherNi bool `protobuf:"varint,212,opt,name=bgp_afi_safi_in_default_ni_before_other_ni,json=bgpAfiSafiInDefaultNiBeforeOtherNi,proto3" json:"bgp_afi_safi_in_default_ni_before_other_ni,omitempty"`
// Devices which do not support default import export policy.
DefaultImportExportPolicyUnsupported bool `protobuf:"varint,213,opt,name=default_import_export_policy_unsupported,json=defaultImportExportPolicyUnsupported,proto3" json:"default_import_export_policy_unsupported,omitempty"`
// ipv6_router_advertisement_interval_unsupported is set to true for devices that do not support ipv6 router advertisement interval configuration.
Ipv6RouterAdvertisementIntervalUnsupported bool `protobuf:"varint,214,opt,name=ipv6_router_advertisement_interval_unsupported,json=ipv6RouterAdvertisementIntervalUnsupported,proto3" json:"ipv6_router_advertisement_interval_unsupported,omitempty"`
// Decap NH with NextHopNetworkInstance is unsupported
DecapNhWithNexthopNiUnsupported bool `protobuf:"varint,215,opt,name=decap_nh_with_nexthop_ni_unsupported,json=decapNhWithNexthopNiUnsupported,proto3" json:"decap_nh_with_nexthop_ni_unsupported,omitempty"`
// Juniper: b/356898098
CommunityInvertAnyUnsupported bool `protobuf:"varint,216,opt,name=community_invert_any_unsupported,json=communityInvertAnyUnsupported,proto3" json:"community_invert_any_unsupported,omitempty"`
// SFlow source address update is unsupported
// Arista: b/357914789
SflowSourceAddressUpdateUnsupported bool `protobuf:"varint,217,opt,name=sflow_source_address_update_unsupported,json=sflowSourceAddressUpdateUnsupported,proto3" json:"sflow_source_address_update_unsupported,omitempty"`
// Linklocal mask length is not 64
// Cisco: b/368271859
LinkLocalMaskLen bool `protobuf:"varint,218,opt,name=link_local_mask_len,json=linkLocalMaskLen,proto3" json:"link_local_mask_len,omitempty"`
// use parent component for temperature telemetry
UseParentComponentForTemperatureTelemetry bool `protobuf:"varint,219,opt,name=use_parent_component_for_temperature_telemetry,json=useParentComponentForTemperatureTelemetry,proto3" json:"use_parent_component_for_temperature_telemetry,omitempty"`
// component manufactured date is unsupported
ComponentMfgDateUnsupported bool `protobuf:"varint,220,opt,name=component_mfg_date_unsupported,json=componentMfgDateUnsupported,proto3" json:"component_mfg_date_unsupported,omitempty"`
// trib protocol field under otn channel config unsupported
OtnChannelTribUnsupported bool `protobuf:"varint,221,opt,name=otn_channel_trib_unsupported,json=otnChannelTribUnsupported,proto3" json:"otn_channel_trib_unsupported,omitempty"`
// ingress parameters under eth channel config unsupported
EthChannelIngressParametersUnsupported bool `protobuf:"varint,222,opt,name=eth_channel_ingress_parameters_unsupported,json=ethChannelIngressParametersUnsupported,proto3" json:"eth_channel_ingress_parameters_unsupported,omitempty"`
// Cisco numbering for eth channel assignment starts from 1 instead of 0
EthChannelAssignmentCiscoNumbering bool `protobuf:"varint,223,opt,name=eth_channel_assignment_cisco_numbering,json=ethChannelAssignmentCiscoNumbering,proto3" json:"eth_channel_assignment_cisco_numbering,omitempty"`
// Devices needs time to update interface counters.
InterfaceCountersUpdateDelayed bool `protobuf:"varint,224,opt,name=interface_counters_update_delayed,json=interfaceCountersUpdateDelayed,proto3" json:"interface_counters_update_delayed,omitempty"`
// device does not support a Healthz GET RPC against Chassis level component like "CHASSIS" or "Rack 0"
ChassisGetRpcUnsupported bool `protobuf:"varint,225,opt,name=chassis_get_rpc_unsupported,json=chassisGetRpcUnsupported,proto3" json:"chassis_get_rpc_unsupported,omitempty"`
// Leaf-ref validation for list keys which is enforced for Cisco and hence deviation
// b/373581140
PowerDisableEnableLeafRefValidation bool `protobuf:"varint,226,opt,name=power_disable_enable_leaf_ref_validation,json=powerDisableEnableLeafRefValidation,proto3" json:"power_disable_enable_leaf_ref_validation,omitempty"`
// Device does not support ssh server counters.
SshServerCountersUnsupported bool `protobuf:"varint,227,opt,name=ssh_server_counters_unsupported,json=sshServerCountersUnsupported,proto3" json:"ssh_server_counters_unsupported,omitempty"`
// True when the optical-channel operational-mode is unsupported.
// Juniper: b/355456031
OperationalModeUnsupported bool `protobuf:"varint,228,opt,name=operational_mode_unsupported,json=operationalModeUnsupported,proto3" json:"operational_mode_unsupported,omitempty"`
// BGP session state idle is supported in passive mode instead of active
// Cisco: b/376021545
BgpSessionStateIdleInPassiveMode bool `protobuf:"varint,229,opt,name=bgp_session_state_idle_in_passive_mode,json=bgpSessionStateIdleInPassiveMode,proto3" json:"bgp_session_state_idle_in_passive_mode,omitempty"`
// EnableMultipathUnderAfiSafi returns true for devices that do not support multipath under /global path and instead support under global/afi/safi path
// CISCO: b/376241033
// CISCO: b/340859662
EnableMultipathUnderAfiSafi bool `protobuf:"varint,230,opt,name=enable_multipath_under_afi_safi,json=enableMultipathUnderAfiSafi,proto3" json:"enable_multipath_under_afi_safi,omitempty"`
// Cisco numbering for OTN channel assignment starts from 1 instead of 0
OtnChannelAssignmentCiscoNumbering bool `protobuf:"varint,232,opt,name=otn_channel_assignment_cisco_numbering,json=otnChannelAssignmentCiscoNumbering,proto3" json:"otn_channel_assignment_cisco_numbering,omitempty"`
// Cisco pre-fec-ber inactive value for CISCO-ACACIA vendors
CiscoPreFecBerInactiveValue bool `protobuf:"varint,233,opt,name=cisco_pre_fec_ber_inactive_value,json=ciscoPreFecBerInactiveValue,proto3" json:"cisco_pre_fec_ber_inactive_value,omitempty"`
// Device does not support bgp afi safi wildcard.
// Cisco: b/379863985
BgpAfiSafiWildcardNotSupported bool `protobuf:"varint,235,opt,name=bgp_afi_safi_wildcard_not_supported,json=bgpAfiSafiWildcardNotSupported,proto3" json:"bgp_afi_safi_wildcard_not_supported,omitempty"`
// Nokia; b/304493065 comment#7 SRL native admin_enable for table-connections
EnableTableConnections bool `protobuf:"varint,236,opt,name=enable_table_connections,json=enableTableConnections,proto3" json:"enable_table_connections,omitempty"`
// Device has default zero suppression.
// Juniper : b/378646018
NoZeroSuppression bool `protobuf:"varint,237,opt,name=no_zero_suppression,json=noZeroSuppression,proto3" json:"no_zero_suppression,omitempty"`
// Cisco: b/378801305
IsisInterfaceLevelPassiveUnsupported bool `protobuf:"varint,238,opt,name=isis_interface_level_passive_unsupported,json=isisInterfaceLevelPassiveUnsupported,proto3" json:"isis_interface_level_passive_unsupported,omitempty"`
// Cisco: b/378616912
IsisDisSysidUnsupported bool `protobuf:"varint,239,opt,name=isis_dis_sysid_unsupported,json=isisDisSysidUnsupported,proto3" json:"isis_dis_sysid_unsupported,omitempty"`
// Cisco: b/378616912
IsisDatabaseOverloadsUnsupported bool `protobuf:"varint,240,opt,name=isis_database_overloads_unsupported,json=isisDatabaseOverloadsUnsupported,proto3" json:"isis_database_overloads_unsupported,omitempty"`
// Cisco: b/388980373
// default import policy for table connection unsupported is set to true for devices that do not support default import policy.
TcDefaultImportPolicyUnsupported bool `protobuf:"varint,242,opt,name=tc_default_import_policy_unsupported,json=tcDefaultImportPolicyUnsupported,proto3" json:"tc_default_import_policy_unsupported,omitempty"`
// Cisco: b/388955361
// table connection metric propagation unsupported is set to true for devices that do not support metric propagation.
TcMetricPropagationUnsupported bool `protobuf:"varint,243,opt,name=tc_metric_propagation_unsupported,json=tcMetricPropagationUnsupported,proto3" json:"tc_metric_propagation_unsupported,omitempty"`
// Cisco: b/388980376
// table connection attribute propagation unsupported is set to true for devices that do not support attribute propagation.
TcAttributePropagationUnsupported bool `protobuf:"varint,244,opt,name=tc_attribute_propagation_unsupported,json=tcAttributePropagationUnsupported,proto3" json:"tc_attribute_propagation_unsupported,omitempty"`
// Cisco: b/388955364
// table connection subscription unsupported is set to true for devices that do not support subscription for table connection leaves.
TcSubscriptionUnsupported bool `protobuf:"varint,245,opt,name=tc_subscription_unsupported,json=tcSubscriptionUnsupported,proto3" json:"tc_subscription_unsupported,omitempty"`
// Cisco: b/388983709
// default bgp instance name is used to set bgp instance name value other than DEFAULT
DefaultBgpInstanceName string `protobuf:"bytes,246,opt,name=default_bgp_instance_name,json=defaultBgpInstanceName,proto3" json:"default_bgp_instance_name,omitempty"`
// Arista does not support ETHChannel rate-class
ChannelAssignmentRateClassParametersUnsupported bool `protobuf:"varint,247,opt,name=channel_assignment_rate_class_parameters_unsupported,json=channelAssignmentRateClassParametersUnsupported,proto3" json:"channel_assignment_rate_class_parameters_unsupported,omitempty"`
// Arista: b/346557012
// Devices that do not support qos scheduler ingress policer.
QosSchedulerIngressPolicerUnsupported bool `protobuf:"varint,248,opt,name=qos_scheduler_ingress_policer_unsupported,json=qosSchedulerIngressPolicerUnsupported,proto3" json:"qos_scheduler_ingress_policer_unsupported,omitempty"`
// Arista: b/354689142
// Devices that do not support gRIBIencap headers.
GribiEncapHeaderUnsupported bool `protobuf:"varint,249,opt,name=gribi_encap_header_unsupported,json=gribiEncapHeaderUnsupported,proto3" json:"gribi_encap_header_unsupported,omitempty"`
// Device does not support P4RT Capabilities rpc.
// Cisco: b/385298158
P4RtCapabilitiesUnsupported bool `protobuf:"varint,250,opt,name=p4rt_capabilities_unsupported,json=p4rtCapabilitiesUnsupported,proto3" json:"p4rt_capabilities_unsupported,omitempty"`
// Device does not support gNMI GET on root.
// Cisco: b/385298159
GnmiGetOnRootUnsupported bool `protobuf:"varint,251,opt,name=gnmi_get_on_root_unsupported,json=gnmiGetOnRootUnsupported,proto3" json:"gnmi_get_on_root_unsupported,omitempty"`
// Device does not support packet processing aggregate drops.
// Cisco: b/395567844
PacketProcessingAggregateDropsUnsupported bool `protobuf:"varint,252,opt,name=packet_processing_aggregate_drops_unsupported,json=packetProcessingAggregateDropsUnsupported,proto3" json:"packet_processing_aggregate_drops_unsupported,omitempty"`
// Device does not support fragment total drops.
// Nokia: b/395553772
// Cisco: https://partnerissuetracker.corp.google.com/issues/395567844
FragmentTotalDropsUnsupported bool `protobuf:"varint,253,opt,name=fragment_total_drops_unsupported,json=fragmentTotalDropsUnsupported,proto3" json:"fragment_total_drops_unsupported,omitempty"`
// Juniper: b/383145521
// Device needs route policy reference to stream prefix set info.
BgpPrefixsetReqRoutepolRef bool `protobuf:"varint,255,opt,name=bgp_prefixset_req_routepol_ref,json=bgpPrefixsetReqRoutepolRef,proto3" json:"bgp_prefixset_req_routepol_ref,omitempty"`
// Devices that do not support oper-status for Integrated Circuits telemetry path
// Juniper b/395551640
OperStatusForIcUnsupported bool `protobuf:"varint,256,opt,name=oper_status_for_ic_unsupported,json=operStatusForIcUnsupported,proto3" json:"oper_status_for_ic_unsupported,omitempty"`
// Nokia: b/383075189
// ExplicitDcoConfig returns true if explicit configurations are required in module-functional-type for the transceiver
ExplicitDcoConfig bool `protobuf:"varint,257,opt,name=explicit_dco_config,json=explicitDcoConfig,proto3" json:"explicit_dco_config,omitempty"`
// verify_expected_breakout_supported_config is used to verify on Cisco devices if optic supports a given breakout mode
// Cisco:
VerifyExpectedBreakoutSupportedConfig bool `protobuf:"varint,258,opt,name=verify_expected_breakout_supported_config,json=verifyExpectedBreakoutSupportedConfig,proto3" json:"verify_expected_breakout_supported_config,omitempty"`
// bgp_aspathset_unsupported is set to true for devices that do not support as-path-set for bgp-defined-sets.
// Juniper: b/330173167
BgpAspathsetUnsupported bool `protobuf:"varint,259,opt,name=bgp_aspathset_unsupported,json=bgpAspathsetUnsupported,proto3" json:"bgp_aspathset_unsupported,omitempty"`
// Devices that do not support SR IGP configuration
// Cisco b/390502067
SrIgpConfigUnsupported bool `protobuf:"varint,260,opt,name=sr_igp_config_unsupported,json=srIgpConfigUnsupported,proto3" json:"sr_igp_config_unsupported,omitempty"`
// Cisco: b/404301960
// Devices that block one IS-IS level specific authentication config attribute for P2P links.
// The same leafs can be set directly under ISIS Interface authentication /network-instances/network-instance/protocols/protocol/isis/interfaces/interface/authentication.
SetIsisAuthWithInterfaceAuthenticationContainer bool `protobuf:"varint,261,opt,name=set_isis_auth_with_interface_authentication_container,json=setIsisAuthWithInterfaceAuthenticationContainer,proto3" json:"set_isis_auth_with_interface_authentication_container,omitempty"`