-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add HLD for IPv4 port based DHCP server in SONiC #1282
Add HLD for IPv4 port based DHCP server in SONiC #1282
Conversation
3ccbc41
to
3357566
Compare
1c11d31
to
be0b079
Compare
82ec39e
to
c2e4c6b
Compare
c2e4c6b
to
63a1ae6
Compare
f51237e
to
ee04a1c
Compare
065541e
to
d5d7e5b
Compare
d5d7e5b
to
8125e00
Compare
0450c90
to
8558ed3
Compare
42a7344
to
697e2a5
Compare
697e2a5
to
ac04262
Compare
community review recording https://zoom.us/rec/share/4Ly7ECsogSJAUmwKps8QemUB0qXNg7OS4Tw940nfMsVcs6eVugIkRaPnf3Szhdtl.d9A5dIBXwGCLPq2R |
|
||
1. Relatively more secure and stable, if other no-configured interface requests IP, it will not be assigned. | ||
2. Assigning IP based on port can quickly complete a self-made network without external information input. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a out of scope section as well to call out specific cases like "MCLAG" or any other , thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added Design considerations
section
- [Design](#design) | ||
- [Design Overview](#design-overview) | ||
- [Container](#container) | ||
- [DHCP Server Daemon](#dhcp-server-daemon) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this HLD replacing the original dhcp relay container functionality? or will dhcp server and relay functionality coexists? if it co exists do you see any conflicts with dhcp server and dhcp relay functions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This HLD wouldn't replace the original dhcp relay container functionality. In the scenario of disabling dhcp_server feature, functionality of dhcp_relay is exactly the same as before. Currently only support enabling dhcp_server per switch, means functionality of dhcp_relay cannot work with functionality dhcp_server. We will add restrictions in CLI to prevent users from configuring dhcp_relay when dhcp_server feature is enabled. Maybe add support in future releases for enabling dhcp_server feature per vlan, means enable dhcp_server in one vlan and enable dhcp_relay in other vlan.
# About this Manual | ||
|
||
This document describes the design details of **ipv4 port based DHCP server** feature. | ||
Dynamic Host Configuration Protocol (DHCP) server is used to centrally manage and configure IP addresses of clients dynamically. When server receives requests from DHCP-enabled clients, it would offer information to client about IP address, subnet mask, gateway etc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you could mention the exact use-case for this feature, would be helpful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added, pls refer to pic in Design considerations
section
0cb1d89
to
8c88e58
Compare
8c88e58
to
fba2d31
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add me as reviewer of this HLD code PRs as well. thanks!
Why I did it Part implementation of dhcp_server. HLD: sonic-net/SONiC#1282. Add dhcpservd to dhcp_server container. How I did it Add installing required pkg (psutil) in Dockerfile. Add copying required file to container in Dockerfile (kea-dhcp related and dhcpservd related) Add critical_process and supervisor config. Add support for generating kea config (only in dhcpservd.py) and updating lease table (in dhcpservd.py and lease_update.sh) How to verify it Build image with setting INCLUDE_DHCP_SERVER to y and enabled dhcp_server feature after installed image, container start as expected. Enter container and found that all processes defined in supervisor configuration running as expected. Kill processes defined in critical_processes, container exist.
Add support in dhcp_relay container for dhcp_server_ipv4 feature. HLD: sonic-net/SONiC#1282
…vd (#17051) Why I did it Add config_db monitor and customize options for dhcpservd. HLD: sonic-net/SONiC#1282 Work item tracking Microsoft ADO (number only): 25600859 How I did it Add support to customize unassigned DHCP options. Current support type: binary, boolean, ipv4-address, string, uint8, uint16, uint32 Add db config change monitor for dhcpservd How to verify it Unit tests in sonic-dhcp-server all passed
@yaqiangz what are the plan for the missed code PRs? Thanks. |
@zhangyanzhao Updated PR description. Test plan will be merged next month, and I think other PRs can be merged this week. |
all code PRs are merged. |
This document describes the design details of ipv4 port based DHCP server in SONiC.
Add support for dhcp_server in minigraph parserNo need any more
sonic-buildimage[minigraph] Add support for ipv4 dhcp_server in minigraph parser