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

[dhcp_relay] DHCP relay support for IPv6 #7772

Merged
merged 3 commits into from
Jul 16, 2021
Merged

[dhcp_relay] DHCP relay support for IPv6 #7772

merged 3 commits into from
Jul 16, 2021

Conversation

shlomibitton
Copy link
Contributor

@shlomibitton shlomibitton commented Jun 1, 2021

Why I did it

Currently SONiC use the 'isc-dhcp-relay' package to allow DHCP relay functionality on IPv4 networks only.
This will allow the IPv6 functionality along the IPv4 type.

How I did it

Edit supervisord template to start DHCPv6 instances when configured to do so on Config DB.
Align cfg unit test to the new change.
Add DHCPv6 relay minigraph parsing support and a suitable t0 topology xml file for UT.

How to verify it

Configure DHCPv6 agents as described on the feature HLD: sonic-net/SONiC#765
Test it with real client/server with IPv6 or use the dedicated automatic test: sonic-net/sonic-mgmt#3565

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

@shlomibitton shlomibitton requested a review from lguohan as a code owner June 1, 2021 11:27
@shlomibitton shlomibitton changed the title [dhcp_relay] Add DHCP relay support for IPv6 [dhcp_relay] DHCP relay support for IPv6 Jun 1, 2021
@liat-grozovik liat-grozovik requested a review from tahmed-dev June 21, 2021 15:56
santoshdoke
santoshdoke previously approved these changes Jun 28, 2021
Copy link
Contributor

@tahmed-dev tahmed-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, thanks!

Can we split this PR into 3 as follows:

  1. Changes related to graph parsing
  2. Changes related to ISC DHCPv6 params + required cfggen change to pass the test
  3. Changes related to dhcpmon + ditto for cfggen

src/dhcpmon/src/dhcp_device.c Outdated Show resolved Hide resolved
src/dhcpmon/src/dhcp_device.c Outdated Show resolved Hide resolved
src/dhcpmon/src/dhcp_device.c Outdated Show resolved Hide resolved
Edit supervisord template to start DHCPv6 instance
Align cfg unit test to new change

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
@shlomibitton
Copy link
Contributor Author

shlomibitton commented Jul 4, 2021

Nice work, thanks!

Can we split this PR into 3 as follows:

  1. Changes related to graph parsing
  2. Changes related to ISC DHCPv6 params + required cfggen change to pass the test
  3. Changes related to dhcpmon + ditto for cfggen

@tahmed-dev I divided this PR into 3:
#7772
#8060
#8125

@shlomibitton shlomibitton requested a review from tahmed-dev July 4, 2021 19:44
@shlomibitton shlomibitton requested a review from tahmed-dev July 12, 2021 15:02
tahmed-dev pushed a commit that referenced this pull request Jul 12, 2021
Why I did it
Allow deploying DHCPv6 servers following the implementation PR: #7772

How I did it
Add DHCPv6 to minigraph.py on sonic-cfggen tool and improve the unit test to cover this change.

How to verify it
Try to deploy a switch with DHCPv6 servers.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
@shlomibitton
Copy link
Contributor Author

/azpw run

@mssonicbld
Copy link
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@shlomibitton
Copy link
Contributor Author

Test failure is not related to this change:
stderr_lines: WARNING: No route found for IPv6 destination

tahmed-dev
tahmed-dev previously approved these changes Jul 13, 2021
Copy link
Contributor

@tahmed-dev tahmed-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just nit related to eol at the end of each new file.

@shlomibitton shlomibitton deleted the shlomi_dhcpv6_relay branch July 20, 2021 08:50
qiluo-msft pushed a commit that referenced this pull request Jul 26, 2021
#### Why I did it

Enhance DHCP monitor application following the implementation PR: #7772

#### How I did it

Add the support for monitoring DHCPv6 packets.

#### How to verify it

Install an image with this PR and the implementation PR.
judyjoseph pushed a commit that referenced this pull request Aug 4, 2021
#### Why I did it

Enhance DHCP monitor application following the implementation PR: #7772

#### How I did it

Add the support for monitoring DHCPv6 packets.

#### How to verify it

Install an image with this PR and the implementation PR.
judyjoseph pushed a commit that referenced this pull request Aug 4, 2021
Why I did it
Allow deploying DHCPv6 servers following the implementation PR: #7772

How I did it
Add DHCPv6 to minigraph.py on sonic-cfggen tool and improve the unit test to cover this change.

How to verify it
Try to deploy a switch with DHCPv6 servers.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
judyjoseph pushed a commit that referenced this pull request Aug 4, 2021
Why I did it
Currently SONiC use the 'isc-dhcp-relay' package to allow DHCP relay functionality on IPv4 networks only.
This will allow the IPv6 functionality along the IPv4 type.

How I did it
Edit supervisord template to start DHCPv6 instances when configured to do so on Config DB.
Align cfg unit test to the new change.
Add DHCPv6 relay minigraph parsing support and a suitable t0 topology xml file for UT.

How to verify it
Configure DHCPv6 agents as described on the feature HLD: sonic-net/SONiC#765
Test it with real client/server with IPv6 or use the dedicated automatic test: sonic-net/sonic-mgmt#3565
Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>

* Split docker-dhcp-relay.supervisord.conf.j2 template into several files for easier code maintenance
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
Why I did it
Allow deploying DHCPv6 servers following the implementation PR: sonic-net#7772

How I did it
Add DHCPv6 to minigraph.py on sonic-cfggen tool and improve the unit test to cover this change.

How to verify it
Try to deploy a switch with DHCPv6 servers.

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
Why I did it
Currently SONiC use the 'isc-dhcp-relay' package to allow DHCP relay functionality on IPv4 networks only.
This will allow the IPv6 functionality along the IPv4 type.

How I did it
Edit supervisord template to start DHCPv6 instances when configured to do so on Config DB.
Align cfg unit test to the new change.
Add DHCPv6 relay minigraph parsing support and a suitable t0 topology xml file for UT.

How to verify it
Configure DHCPv6 agents as described on the feature HLD: sonic-net/SONiC#765
Test it with real client/server with IPv6 or use the dedicated automatic test: sonic-net/sonic-mgmt#3565
Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>

* Split docker-dhcp-relay.supervisord.conf.j2 template into several files for easier code maintenance
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
…c-net#8060)

#### Why I did it

Enhance DHCP monitor application following the implementation PR: sonic-net#7772

#### How I did it

Add the support for monitoring DHCPv6 packets.

#### How to verify it

Install an image with this PR and the implementation PR.
kellyyeh pushed a commit to kellyyeh/sonic-buildimage that referenced this pull request Sep 29, 2021
Why I did it
Currently SONiC use the 'isc-dhcp-relay' package to allow DHCP relay functionality on IPv4 networks only.
This will allow the IPv6 functionality along the IPv4 type.

How I did it
Edit supervisord template to start DHCPv6 instances when configured to do so on Config DB.
Align cfg unit test to the new change.
Add DHCPv6 relay minigraph parsing support and a suitable t0 topology xml file for UT.

How to verify it
Configure DHCPv6 agents as described on the feature HLD: sonic-net/SONiC#765
Test it with real client/server with IPv6 or use the dedicated automatic test: sonic-net/sonic-mgmt#3565
Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>

* Split docker-dhcp-relay.supervisord.conf.j2 template into several files for easier code maintenance

(cherry picked from commit 604becd)
kellyyeh pushed a commit to kellyyeh/sonic-buildimage that referenced this pull request Sep 29, 2021
…c-net#8060)

#### Why I did it

Enhance DHCP monitor application following the implementation PR: sonic-net#7772

#### How I did it

Add the support for monitoring DHCPv6 packets.

#### How to verify it

Install an image with this PR and the implementation PR.

(cherry picked from commit bef5477)
@qiluo-msft
Copy link
Collaborator

This PR could not be cleanly cherry-pick to 202012. Please submit another PR.

@shlomibitton
Copy link
Contributor Author

This PR could not be cleanly cherry-pick to 202012. Please submit another PR.

@qiluo-msft, kelly already created a new PR for this branch and it is merged, by PR: #8871

kellyyeh pushed a commit to sonic-net/sonic-dhcpmon that referenced this pull request Oct 11, 2022
#### Why I did it

Enhance DHCP monitor application following the implementation PR: sonic-net/sonic-buildimage#7772

#### How I did it

Add the support for monitoring DHCPv6 packets.

#### How to verify it

Install an image with this PR and the implementation PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants