It looks like your set of endpoints and control points can be
any set of points in the plane.
This means that the $order$ of the points
is critical,
so that the generated curve goes through the points
in a specified order.
This is much different than the ordinary interpolation problem,
where the points
of the form $(x_i, y_i)$
are ordered so that
$x_i < x_{i+1}$.
As I read your desire,
if you gave a set of points on a circle
ordered by the angle of the line
from the center to each point,
you would want the result to be
a curve close to the circle.
There are a number of ways this could be done.
I will assume that
you have $n+1$ points
and your points are $(x_i, y_i)_{i=0}^n$.
The first way I would do this
is to separately parameterize the curve
by arc length,
with $d_i = \sqrt{(x_i-x_{i-1})^2+(y_i-y_{i-1})^2}$
for $i=1$ to $n$,
so $d_i$ is the distance from
the $i-1$-th point to the
$i$-th point.
For a linear fit,
for each $i$ from $1$ to $n$,
let $t$ go from
$0$ to $d_i$
and construct separate curves
$X_i(t)$ and $Y_i(t)$
such that
$X_i(0) = x_{i-1}$,
$X_i(d_i) = x_i$,
and
$Y_i(0) = y_{i-1}$,
$Y_i(d_i) = y_i$.
Then piece these together.
For a smoother fit,
do a spline curve
through each of
$(T_i, x_i)$
and
$(T_i, y_i)$
for $i=0$ to $n$,
where
$T_0 = 0$
and
$T_i = T_{i-1}+d_i$.
To get a point for any $t$ from
$0$ to $T_n$,
find the $i$ such that
$T_{i-1} \le t \le T_i$
and then,
using the spline fits
for $x$ and $y$
(instead of the linear fit),
get the $x$ and $y$ values from their fits.
Note that
$T_i$ is the cumulative length
from $(x_0, y_0)$
to $(x_i, y_i)$,
and $T_n$ is the total length of the line segments
joining the consecutive points.
To keep the curves from
not getting too wild,
you might look up "splines under tension".
Until you get more precise,
this is as far as I can go.
If you insist using uniform knot sequence (which is how you obtain a uniform B-spline curve), then as long as the number of knot values follow the rule: number of knots = number of control points + order, then you should get a closed curve. Note that the number of control points should include those repeated (k-1) control points.
For example, if you have a cubic B-spline curve with 7 control points $P_0$, $P_1$,...,$P_6$ where $P_4=P_0$, $P_5=P_1$ and $P_6=P_2$, the knot sequence can be (-0.75, -0.5, -0.25, 0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75). Please note that the knot sequence is defined in this way (with negative knots) so that the valid range of the B-spline curve is still [0,1].
If you do not want to use uniform knot sequence, then the knot sequence still needs to follow a specific pattern in order for the curve to become periodic (i.e., closed with certain continuity at the joint). I will not elaborate on this topic here as you do not really need it.
Best Answer
The B-spline needs to be at least order 4 (i.e., degree 3) to have $C^2$ continuity for the entire curve.
A B-spline curve's continuity is decided upon is degree and its knot sequence. In general, its continuity is at best (degree-1). If the knot sequence has multiple interior knots such as [0.,0.,0.,0., 0.5, 0.5, 1., 1., 1., 1.], then the continuity will become (degree - knot multiplicity).
There are some special configuration of control poles that would actually make the continuity higher than the degree. For example, if we convert a straight line to a degree 1 B-spline curve or a circular arc into a rational quadratic B-spline curves, the continuity is not reduced as both a straight line and a circular arc is $C^{\infty}$. But these are special cases.