{"id":18637086,"url":"https://github.com/openshift/sdn","last_synced_at":"2025-04-13T04:16:46.149Z","repository":{"id":37428877,"uuid":"191825507","full_name":"openshift/sdn","owner":"openshift","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-05T17:16:40.000Z","size":129080,"stargazers_count":88,"open_issues_count":4,"forks_count":95,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-13T04:16:31.023Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-13T20:01:16.000Z","updated_at":"2025-04-04T04:32:08.000Z","dependencies_parsed_at":"2023-02-18T01:32:00.181Z","dependency_job_id":"a0d19fb0-d15e-46f8-9b35-21290dd11dba","html_url":"https://github.com/openshift/sdn","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fsdn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fsdn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fsdn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Fsdn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/sdn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661715,"owners_count":21141451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T05:33:11.824Z","updated_at":"2025-04-13T04:16:46.097Z","avatar_url":"https://github.com/openshift.png","language":"Go","readme":"# OpenShift SDN\n\n**Note:** OpenShift SDN is deprecated and is no longer being\ndeveloped. Current releases of OpenShift use\n[OVN Kubernetes](https://github.com/ovn-org/ovn-kubernetes).\n\n----\n\nThis is openshift-sdn, the original network plugin for OpenShift. It\nuses Open vSwitch to connect pods locally, with VXLAN tunnels to\nconnect different nodes.\n\nOpenShift SDN is designed to be installed by the [OpenShift Network\nOperator](https://github.com/openshift/cluster-network-operator), and\ncertain components of it (such as the Deployment and DaemonSet\nobjects) are found there.\n\nThis module defines two images: the [sdn](./images/sdn) image, which\ncontains OpenShift SDN (both controller and node components) and the\n[kube-proxy](./images/kube-proxy) image, which is deployed by the\nNetwork Operator for third-party network plugins that need it.\n(Kube-proxy is built from here rather than from the origin repo so\nthat we only have to maintain kube-proxy bugfix/security backports in\none place.)\n\n## OpenShift SDN Types\n\nFor historical reasons, OpenShift SDN's types are defined in the\n`network.openshift.io` namespace and are part of the\n[`openshift/api`](https://github.com/openshift/api) module, despite\nbeing used only when OpenShift SDN is the configured network plugin.\n\nBecause the OpenShift aggregated apiserver runs in the pod network,\nnot on the host network, OpenShift SDN cannot depend on it. Therefore,\nalthough the types are defined in `openshift/api`, they are actually\nimplemented as `CustomResourceDefinition`s in the main apiserver. The\nNetwork Operator creates the CRD definitions.\n\n## The OpenShift SDN Controller\n\nThe [network controller](./cmd/openshift-sdn-controller) is run on\nthe masters to handle cluster-level processing:\n\n  - Creating `NetNamespace` objects corresponding to `Namespace`s\n  - Creating `HostSubnet` objects corresponding to `Node`s\n  - Implementing high availability for egress IPs\n\nIn older releases, the controller was also responsible for reading the\ncluster master configuration and creating the `ClusterNetwork` object\ncontaining configuration information to be used by the nodes. As of\nOpenShift 4.2, the `ClusterNetwork` is created by the Network\nOperator.\n\n## OpenShift SDN Nodes\n\nThe [`openshift-sdn` daemon](./cmd/openshift-sdn-node) runs on every node,\nreads the `ClusterNetwork` object and the `HostSubnet` object for the\nnode it is running on, and uses that information to configure the node\nas part of the cluster. This includes:\n\n  - Providing networking to Pods, as requested by the [`openshift-sdn`\n    CNI plugin](./cmd/openshift-sdn-cni) (which is a small shim that just\n    talks to the daemon).\n\n  - Setting up the OVS bridge, and managing OVS flows as needed for\n    Pods, Services, NetworkPolicy, and EgressNetworkPolicy; and adding\n    and removing flows as needed for communicating with other nodes.\n\n  - Setting up iptables rules for masquerading outbound traffic, and\n    ensure that OpenShift's own traffic does not get firewalled.\n\n  - Updating OVS flows and iptables rules for static egress IPs.\n\n  - Implementing the Service proxy via a built-in copy of kube-proxy,\n    in either the \"userspace\" mode, \"iptables\" mode, or the hybrid\n    \"unidling\" mode.\n\n## Development \nSee [Development workflow](./docs/workflow.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fsdn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Fsdn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Fsdn/lists"}