Merge pull request #17956 from pguibert6WIND/isis_srv6_codepoint_erroneous

isisd: fix erroneous srv6 information in database
This commit is contained in:
Donatas Abraitis 2025-01-31 13:56:09 +02:00 committed by GitHub
commit ce20b8cc0d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1053,9 +1053,8 @@ static void format_item_ext_subtlvs(struct isis_ext_subtlvs *exts,
adj->algorithm)); adj->algorithm));
json_object_int_add(srv6_endx_sid_json, json_object_int_add(srv6_endx_sid_json,
"weight", adj->weight); "weight", adj->weight);
json_object_string_add(srv6_endx_sid_json, json_object_string_add(srv6_endx_sid_json, "behavior",
"behavior", srv6_endpoint_behavior_codepoint2str(
seg6local_action2str(
adj->behavior)); adj->behavior));
json_object_boolean_add( json_object_boolean_add(
srv6_endx_sid_json, "flagB", srv6_endx_sid_json, "flagB",
@ -1081,21 +1080,16 @@ static void format_item_ext_subtlvs(struct isis_ext_subtlvs *exts,
for (adj = (struct isis_srv6_endx_sid_subtlv *) for (adj = (struct isis_srv6_endx_sid_subtlv *)
exts->srv6_endx_sid.head; exts->srv6_endx_sid.head;
adj; adj = adj->next) { adj; adj = adj->next) {
sbuf_push( sbuf_push(buf, indent,
buf, indent,
"SRv6 End.X SID: %pI6, Algorithm: %s, Weight: %hhu, Endpoint Behavior: %s, Flags: B:%c, S:%c, P:%c\n", "SRv6 End.X SID: %pI6, Algorithm: %s, Weight: %hhu, Endpoint Behavior: %s, Flags: B:%c, S:%c, P:%c\n",
&adj->sid, &adj->sid, sr_algorithm_string(adj->algorithm),
sr_algorithm_string(adj->algorithm),
adj->weight, adj->weight,
seg6local_action2str(adj->behavior), srv6_endpoint_behavior_codepoint2str(adj->behavior),
adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_BFLG adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_BFLG ? '1'
? '1'
: '0', : '0',
adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_SFLG adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_SFLG ? '1'
? '1'
: '0', : '0',
adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_PFLG adj->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_PFLG ? '1'
? '1'
: '0'); : '0');
if (adj->subsubtlvs) if (adj->subsubtlvs)
isis_format_subsubtlvs(adj->subsubtlvs, isis_format_subsubtlvs(adj->subsubtlvs,
@ -1131,9 +1125,8 @@ static void format_item_ext_subtlvs(struct isis_ext_subtlvs *exts,
lan->algorithm)); lan->algorithm));
json_object_int_add(srv6_lan_endx_sid_json, json_object_int_add(srv6_lan_endx_sid_json,
"weight", lan->weight); "weight", lan->weight);
json_object_string_add(srv6_lan_endx_sid_json, json_object_string_add(srv6_lan_endx_sid_json, "behavior",
"behavior", srv6_endpoint_behavior_codepoint2str(
seg6local_action2str(
lan->behavior)); lan->behavior));
json_object_boolean_add( json_object_boolean_add(
srv6_lan_endx_sid_json, "flagB", srv6_lan_endx_sid_json, "flagB",
@ -1162,22 +1155,17 @@ static void format_item_ext_subtlvs(struct isis_ext_subtlvs *exts,
for (lan = (struct isis_srv6_lan_endx_sid_subtlv *) for (lan = (struct isis_srv6_lan_endx_sid_subtlv *)
exts->srv6_lan_endx_sid.head; exts->srv6_lan_endx_sid.head;
lan; lan = lan->next) { lan; lan = lan->next) {
sbuf_push( sbuf_push(buf, indent,
buf, indent,
"SRv6 Lan End.X SID: %pI6, Algorithm: %s, Weight: %hhu, Endpoint Behavior: %s, Flags: B:%c, S:%c, P:%c " "SRv6 Lan End.X SID: %pI6, Algorithm: %s, Weight: %hhu, Endpoint Behavior: %s, Flags: B:%c, S:%c, P:%c "
"Neighbor-ID: %pSY\n", "Neighbor-ID: %pSY\n",
&lan->sid, &lan->sid, sr_algorithm_string(lan->algorithm),
sr_algorithm_string(lan->algorithm),
lan->weight, lan->weight,
seg6local_action2str(lan->behavior), srv6_endpoint_behavior_codepoint2str(lan->behavior),
lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_BFLG lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_BFLG ? '1'
? '1'
: '0', : '0',
lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_SFLG lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_SFLG ? '1'
? '1'
: '0', : '0',
lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_PFLG lan->flags & EXT_SUBTLV_LINK_SRV6_ENDX_SID_PFLG ? '1'
? '1'
: '0', : '0',
lan->neighbor_id); lan->neighbor_id);
if (lan->subsubtlvs) if (lan->subsubtlvs)
@ -2823,7 +2811,7 @@ static void format_item_srv6_end_sid(uint16_t mtid, struct isis_item *i,
sid_json = json_object_new_object(); sid_json = json_object_new_object();
json_object_object_add(json, "srv6EndSid", sid_json); json_object_object_add(json, "srv6EndSid", sid_json);
json_object_string_add(sid_json, "endpointBehavior", json_object_string_add(sid_json, "endpointBehavior",
seg6local_action2str(sid->behavior)); srv6_endpoint_behavior_codepoint2str(sid->behavior));
json_object_string_addf(sid_json, "sidValue", "%pI6", &sid->sid); json_object_string_addf(sid_json, "sidValue", "%pI6", &sid->sid);
if (sid->subsubtlvs) { if (sid->subsubtlvs) {
struct json_object *subtlvs_json; struct json_object *subtlvs_json;
@ -2836,7 +2824,7 @@ static void format_item_srv6_end_sid(uint16_t mtid, struct isis_item *i,
} else { } else {
sbuf_push(buf, indent, "SRv6 End SID "); sbuf_push(buf, indent, "SRv6 End SID ");
sbuf_push(buf, 0, "Endpoint Behavior: %s, ", sbuf_push(buf, 0, "Endpoint Behavior: %s, ",
seg6local_action2str(sid->behavior)); srv6_endpoint_behavior_codepoint2str(sid->behavior));
sbuf_push(buf, 0, "SID value: %pI6\n", &sid->sid); sbuf_push(buf, 0, "SID value: %pI6\n", &sid->sid);
if (sid->subsubtlvs) { if (sid->subsubtlvs) {