Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ipv6 rr semantics #3605

Closed
wants to merge 2 commits into from
Closed

Ipv6 rr semantics #3605

wants to merge 2 commits into from

Conversation

preetham-singh
Copy link
Contributor

- What I did
Enable IPv6 Route semantics in zebra by starting zebra with command line option --v6-rr-semantics
This enables IPv6 routes are updated in kernel with NLM_F_REPLACE flag
whenever there is route update from zebra instead of treating route update as
delete and add.
- How I did it
Adding --v6-rr-semantics option to frr docker supervisor.conf
- How to verify it
Create ECMP IPv6 static routes with multiple nhops.
- Description for the changelog

- Steps to recreate
In FRR:

ipv6 route 2222::2/128 100::2
ipv6 route 2222::2/128 100::3
ipv6 route 2222::2/128 100::4
ipv6 route 2222::2/128 100::5
ipv6 route 2222::2/128 100::6
ipv6 route 2222::2/128 100::7
ipv6 route 2222::2/128 100::8
ipv6 route 2222::2/128 100::9
ipv6 route 2222::2/128 100::10
ipv6 route 2222::2/128 100::11
ipv6 route 2222::2/128 100::12
ipv6 route 2222::2/128 100::13
ipv6 route 2222::2/128 100::14
ipv6 route 2222::2/128 100::15
ipv6 route 2222::2/128 100::16
ipv6 route 2222::2/128 100::17
ipv6 route 2222::2/128 100::18
ipv6 route 2222::2/128 100::19
ipv6 route 2222::2/128 100::20
!
line vty
!
end
VS1#
root@VS1:~# ip -6 route show 2222::2/128
2222::2 via 100::9 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::10 dev Vlan100 proto 196 metric 20 pref medium

root@VS1:# ps -aef | grep -i zebra
300 4208 2937 0 Sep17 pts/0 00:02:04 /usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M fpm -M snmp
root 28292 28226 0 09:48 pts/0 00:00:00 grep -i zebra
root@VS1:#

After fix:

root@VS1:# ps -aef | grep -i zebra
300 3456 3379 0 09:34 pts/0 00:00:00 /usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M fpm -M snmp --v6-rr-semantics
root 3964 31001 0 09:36 pts/0 00:00:00 grep -i zebra
root@VS1:#

sonic(config)# ipv6 route 2222::2/128 100::2
ipv6 route 2222::2/128 100::4
sonic(config)# ipv6 route 2222::2/128 100::3
sonic(config)# ipv6 route 2222::2/128 100::4
sonic(config)# ipv6 route 2222::2/128 100::5
sonic(config)# ipv6 route 2222::2/128 100::6
sonic(config)# ipv6 route 2222::2/128 100::7
sonic(config)# ipv6 route 2222::2/128 100::8
sonic(config)# ipv6 route 2222::2/128 100::9
sonic(config)# ipv6 route 2222::2/128 100::10
sonic(config)# ipv6 route 2222::2/128 100::11
sonic(config)# ipv6 route 2222::2/128 100::12
sonic(config)# ipv6 route 2222::2/128 100::13
sonic(config)# ipv6 route 2222::2/128 100::14
sonic(config)# ipv6 route 2222::2/128 100::15
sonic(config)# ipv6 route 2222::2/128 100::16
sonic(config)# ipv6 route 2222::2/128 100::17
sonic(config)# ipv6 route 2222::2/128 100::18
sonic(config)# ipv6 route 2222::2/128 100::19
sonic(config)# ipv6 route 2222::2/128 100::20
sonic(config)# end
sonic#
root@VS1:~# ip -6 route show 2222::2/128
2222::2 via 100::2 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::3 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::4 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::5 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::6 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::7 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::8 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::9 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::10 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::11 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::12 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::13 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::14 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::15 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::16 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::17 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::18 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::19 dev Vlan100 proto 196 metric 20 pref medium
2222::2 via 100::20 dev Vlan100 proto 196 metric 20 pref medium

This enables IPv6 routes are updated in kernel with NLM_F_REPLACE flag
whenever there is route update instead of treating route update as
delete and add.
@preetham-singh
Copy link
Contributor Author

Will resolve conflicts and create new PR.

@preetham-singh preetham-singh deleted the IPv6-RR-semantics branch October 15, 2019 10:01
mssonicbld added a commit that referenced this pull request Dec 23, 2024
…atically (#21194)

#### Why I did it
src/sonic-utilities
```
* 2f8508f1 - (HEAD -> master, origin/master, origin/HEAD) Revert PR: Add scope to field validator (#3689) (3 days ago) [xwjiang-ms]
* 5481d0ef - Optimize techsupport reducing number of vtysh calls in scale sceario (#3605) (5 days ago) [Sudharsan Dhamal Gopalarathnam]
* 7e2e59c5 - add sonic_asic_platform in the render context when rendering docker_image_ctl.j2 (#3672) (5 days ago) [Changrong Wu]
* d85e1db3 - Disable routeCheck monit as part of config reload/minigraph stop service and enable it back as part of service start. (#3682) (6 days ago) [abdosi]
* 139983ad - platform/marvell renaming to platform/marvell-prestera (#3622) (6 days ago) [krismarvell]
* e3991d54 - Add scope to field validator. (#3675) (7 days ago) [Xincun Li]
```
#### How I did it
#### How to verify it
#### Description for the changelog
github-actions bot pushed a commit to bradh352/sonic-buildimage that referenced this pull request Jan 2, 2025
…atically (sonic-net#21194)

#### Why I did it
src/sonic-utilities
```
* 2f8508f1 - (HEAD -> master, origin/master, origin/HEAD) Revert PR: Add scope to field validator (sonic-net#3689) (3 days ago) [xwjiang-ms]
* 5481d0ef - Optimize techsupport reducing number of vtysh calls in scale sceario (sonic-net#3605) (5 days ago) [Sudharsan Dhamal Gopalarathnam]
* 7e2e59c5 - add sonic_asic_platform in the render context when rendering docker_image_ctl.j2 (sonic-net#3672) (5 days ago) [Changrong Wu]
* d85e1db3 - Disable routeCheck monit as part of config reload/minigraph stop service and enable it back as part of service start. (sonic-net#3682) (6 days ago) [abdosi]
* 139983ad - platform/marvell renaming to platform/marvell-prestera (sonic-net#3622) (6 days ago) [krismarvell]
* e3991d54 - Add scope to field validator. (sonic-net#3675) (7 days ago) [Xincun Li]
```
#### How I did it
#### How to verify it
#### Description for the changelog
github-actions bot pushed a commit to bradh352/sonic-buildimage that referenced this pull request Jan 2, 2025
…atically (sonic-net#21194)

#### Why I did it
src/sonic-utilities
```
* 2f8508f1 - (HEAD -> master, origin/master, origin/HEAD) Revert PR: Add scope to field validator (sonic-net#3689) (3 days ago) [xwjiang-ms]
* 5481d0ef - Optimize techsupport reducing number of vtysh calls in scale sceario (sonic-net#3605) (5 days ago) [Sudharsan Dhamal Gopalarathnam]
* 7e2e59c5 - add sonic_asic_platform in the render context when rendering docker_image_ctl.j2 (sonic-net#3672) (5 days ago) [Changrong Wu]
* d85e1db3 - Disable routeCheck monit as part of config reload/minigraph stop service and enable it back as part of service start. (sonic-net#3682) (6 days ago) [abdosi]
* 139983ad - platform/marvell renaming to platform/marvell-prestera (sonic-net#3622) (6 days ago) [krismarvell]
* e3991d54 - Add scope to field validator. (sonic-net#3675) (7 days ago) [Xincun Li]
```
#### How I did it
#### How to verify it
#### Description for the changelog
github-actions bot pushed a commit to bradh352/sonic-buildimage that referenced this pull request Jan 2, 2025
…atically (sonic-net#21194)

#### Why I did it
src/sonic-utilities
```
* 2f8508f1 - (HEAD -> master, origin/master, origin/HEAD) Revert PR: Add scope to field validator (sonic-net#3689) (3 days ago) [xwjiang-ms]
* 5481d0ef - Optimize techsupport reducing number of vtysh calls in scale sceario (sonic-net#3605) (5 days ago) [Sudharsan Dhamal Gopalarathnam]
* 7e2e59c5 - add sonic_asic_platform in the render context when rendering docker_image_ctl.j2 (sonic-net#3672) (5 days ago) [Changrong Wu]
* d85e1db3 - Disable routeCheck monit as part of config reload/minigraph stop service and enable it back as part of service start. (sonic-net#3682) (6 days ago) [abdosi]
* 139983ad - platform/marvell renaming to platform/marvell-prestera (sonic-net#3622) (6 days ago) [krismarvell]
* e3991d54 - Add scope to field validator. (sonic-net#3675) (7 days ago) [Xincun Li]
```
#### How I did it
#### How to verify it
#### Description for the changelog
VladimirKuk pushed a commit to Marvell-switching/sonic-buildimage that referenced this pull request Jan 21, 2025
…atically (sonic-net#21194)

#### Why I did it
src/sonic-utilities
```
* 2f8508f1 - (HEAD -> master, origin/master, origin/HEAD) Revert PR: Add scope to field validator (sonic-net#3689) (3 days ago) [xwjiang-ms]
* 5481d0ef - Optimize techsupport reducing number of vtysh calls in scale sceario (sonic-net#3605) (5 days ago) [Sudharsan Dhamal Gopalarathnam]
* 7e2e59c5 - add sonic_asic_platform in the render context when rendering docker_image_ctl.j2 (sonic-net#3672) (5 days ago) [Changrong Wu]
* d85e1db3 - Disable routeCheck monit as part of config reload/minigraph stop service and enable it back as part of service start. (sonic-net#3682) (6 days ago) [abdosi]
* 139983ad - platform/marvell renaming to platform/marvell-prestera (sonic-net#3622) (6 days ago) [krismarvell]
* e3991d54 - Add scope to field validator. (sonic-net#3675) (7 days ago) [Xincun Li]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant